Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Для проверки интеллекта роботов
используется головоломка, показанная на рисунке, в которой цифры от 1 до 7 располагаются
в ячейках, а одна из ячеек свободна.
Необходимо переставить цифры, используя свободную ячейку, чтобы цифры расположились так,
как показано на рисунке.
Перемещение буквы в свободную ячейку возможно, только если ячейки соединены линией.
Напишите программу, которая определяет минимальное количество ходов для решения головоломки.
Первая строка ввода содержит одно целое число – количество тестов `N` (`1\ ≤\ N\ ≤\ 40000`).
Далее следует `N` строк, содержащих перестановку чисел 0, 1, 2, 3, 4, 5, 6, 7 – начальную
позицию. Числа перечисляются в порядке чтения слева направо, сверху вниз.
Число 0 обозначает пустую ячейку.
Для каждой начальной позиции вывести на отдельной строке сначала минимальное
количество ходов, затем саму последовательность ходов – последовательность цифр от 1 до 7, которые нужно перемещать
на очередном ходе в свободную ячейку. Если существует несколько минимальных вариантов для последовательности ходов,
то можно вывести любой из них. Гарантируется, что все начальные позиции для головоломки имеют решение.
Пример ввода
3
1 2 3 4 0 5 6 7
2 1 3 4 0 5 6 7
0 1 2 3 4 5 6 7
Пример вывода
0
7 5321235
18 213451323154213124