eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Lines (2)

Lines (2)

В таблице из \textbf{N} строк и \textbf{N} столбцов некоторые клетки заняты шариками, другие свободны. Выбран шарик, который нужно переместить, и место, куда его переместить. Выбранный шарик за один шаг перемещается в соседнюю по горизонтали или вертикали свободную клетку. Требуется выяснить, возможно ли переместить шарик из начальной клетки в заданную, и если возможно, то найти путь из наименьшего количества шагов. \InputFile В первой строке находится числ \textbf{N} (2 ≤\textbf{ N }≤\textbf{ 250}), в следующих \textbf{N} строках - по \textbf{N} символов. Символом точки обозначена свободная клетка,латинской заглавной \textbf{O} - шарик, @ - исходное положение шарика, который должен двигаться, латинской заглавной \textbf{X} - конечное положение шарика. \OutputFile В первой строке выводится \textbf{Y}, если движение возможно, или \textbf{N}, если нет. Если движение возможно далее следут \textbf{N} строк по \textbf{N} символов - как и на вводе, но \textbf{X}, а также все точки по пути заменяются плюсами.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
5
....X
.OOOO
.....
OOOO.
@....
Выходные данные #1
Y
+++++
+OOOO
+++++
OOOO+
@++++