1–5 и одной пустой клеткой, обозначенной 0. За один ход можно сдвинуть в пустую клетку любую плитку, соседнюю с ней по стороне (то есть поменять местами 0 и соседнее число).
Головоломка собрана, когда поле выглядит как [[1, 2, 3], [4, 5, 0]].
Дано текущее поле panel. Верните наименьшее число ходов, за которое его можно собрать, или -1, если собрать его нельзя.panel=[[1, 2, 3], [0, 4, 5]] → 2
Сдвигаем 4 влево, потом 5 влево — 2 хода.
panel=[[2, 1, 3], [4, 5, 0]] → -1
Поменять местами только две плитки нельзя никакими сдвигами, поэтому ответ -1.
panel=[[1, 2, 3], [4, 5, 0]] → 0
Головоломка уже собрана.
panel — 2 строки по 3 числаpanel — это 0, 1, 2, 3, 4, 5, каждое ровно один разpanel=[[1, 2, 3], [0, 4, 5]]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 81 тест на сервере, включая скрытые.