Ви опиняєтесь на шаховій дошці, як це робиться. Ви можете побачити вихід, але він жахливо далеко, і ви краще не ходите всю дорогу. На щастя, деякі місцеві жителі запропонували вам покататися. Лицар, Грак, Єпископ та Король готові відвезти вас до місця призначення, але бачачи, як це шахова дошка, вони повинні дотримуватися правил шахів на шляху до місця призначення. Ви хочете якнайшвидше піти звідси, чию пропозицію ви приймаєте?
Завдання
Враховуючи шахову дошку довільної форми та розміру та дві точки на шаховій дошці, виведіть шахову фігуру, яка може переміщатися між двома місцями якомога рідше. Дошки необов'язково матимуть суцільне значення, що може виникнути прогалини між секціями дошки. Кожна з чотирьох фігур (Король, Ладья, Лицар та Єпископ) може рухатися згідно зі своїми стандартними правилами в шахах. Королева і пішаки пішаків навмисно залишилися від цього виклику.
I / O
Ви можете приймати дані в будь-якому розумному форматі, а також ви можете виводити його в будь-якому форматі, який ви також вибрали. Введення та вихід повинні бути послідовними. Якщо декілька штук можуть доїхати до місця призначення за однакову кількість рухів, ви повинні вивести всі шматки, які можуть потрапити туди за мінімальний час. Якщо жодна з чотирьох деталей не зможе досягти кінця, ви можете вивести що завгодно, якщо це відрізняється від усіх інших можливих результатів. Це може включати виведення нічого або помилку.
Випробування
Квадрат позначає початкову точку, а коло - кінцеву точку.
Єпископ
Лицар
Король
Ладья
Король, лицар
Немає