Отже, ваше завдання - взяти блок 3x3, де -
середні порожні пробіли, і *
середні заповнені пробіли, наприклад:
-**
-*-
*-*
і переставити блок так, щоб *
форми утворили X, як це:
*-*
-*-
*-*
Введення: 3x3 квадрати, як вище, вони можуть бути 3 рядками, масивом або як би ви хочете.
Вихід: найкоротша кількість рухів переставити в X. Кожен хід - гортання двох символів, які торкаються, і горизонтальні один від одного, вертикальні один від одного або діагональні один від одного. Якщо це неможливо, поверніть будь-який неможливий вихід, наприклад, 999
або -4242
. 5
- найменша така кількість.
Випробування:
1) Вихід: 1
-**
-*-
*-*
2) Вихід: -1
-*-
-*-
*-*
3) Вихід: 3
---
-**
***
4) Вихід: 0
*-*
-*-
*-*
Ви можете замінити порожні та непорожні символи, але обов'язково включіть те, що є у вашій публікації
Код гольф
Пам'ятайте, що це код гольфу, який виграє найкоротший код!
*
? Чи можете ви додати ще кілька тестових випадків?
*
або менше 5, це робить неможливим.
-1
? Наприклад 5
(неможливо інакше) чи помилка кидання?
*
та навпаки, чи обміняти їх?