8 Puzzle - это меньший вариант 15Puzzle (или Скользящая головоломка ). У вас есть 3x3
сетка, которая заполнена числами от 0 до 8 (0 обозначает пустую клетку), расположенными в случайном порядке. Ваша задача - ввести сетку 3х3 и показать кратчайшее решение (минимальное количество ходов), чтобы добраться до состояния цели. Отобразите каждое состояние платы, включая первое состояние на выходе.
Там может быть несколько оптимальных решений, вам просто нужно напечатать одно.
Вход: (маленький пример)
1 2 0
4 5 3
7 8 6
Выход:
2 <- denotes minimum number of moves required
1 2 0
4 5 3
7 8 6
1 2 3
4 5 0
7 8 6
1 2 3
4 5 6
7 8 0 <- goal state
Если головоломка не может быть решена, напечатайте просто -1
(обозначает неразрешимый)
Изменить : ограничение по времени: <30 секунд.
grid which is filled with numbers from 0-9
быть grid which is filled with numbers from 0-8
?