Итак, ваша задача - взять блок 3х3, где -
означают пустые места и *
заполненные пробелы, например:
-**
-*-
*-*
и переставьте блок так, чтобы он *
сформировал X, вот так:
*-*
-*-
*-*
Ввод: квадраты 3х3, как указано выше, они могут быть 3 строками, массивом или как вам угодно.
Вывод: Наименьшее количество ходов для перестановки в X. Каждое движение переворачивает 2 соприкасающихся символа, горизонтальных друг от друга, вертикальных друг от друга или диагональных друг от друга. Если это невозможно, верните любой невозможный вывод, например 999
или -4242
. 5
наименьшее такое число.
Тестовые случаи:
1) Выход: 1
-**
-*-
*-*
2) Выход: -1
-*-
-*-
*-*
3) Выход: 3
---
-**
***
4) Выход: 0
*-*
-*-
*-*
Вы можете заменить пустые и непустые символы, но не забудьте указать, какие именно в вашем сообщении
Код Гольф
Помните, что это кодовый гольф, выигрывает самый короткий код!
*
? Можете ли вы добавить еще несколько тестов?
*
или меньше 5 делает невозможным.
-1
? Например 5
(иначе невозможно) или выкидывает ошибку?
*
и наоборот или обменивать их?