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

Лінії

Лінії

У таблиці з n рядків та n стовпчиків деякі клітинки зайняті кульками, інші вільні. Обрано кульку, яку потрібно перемістити, і місце, куди її слід перемістити. Обрана кулька за один крок переміщується у сусідню по горизонталі або вертикалі вільну клітинку. Потрібно вияснити, чи можливо перемістити кульку з початкової клітинки у задану, і якщо можливо, то знайти шлях з найменшою кількістю кроків.

Вхідні дані

У першому рядку знаходиться число n (2n40), в кожному з наступних n рядків - по n символів. Символом точки позначено вільну клітинку, латинською великою O - кульку, @ - початкове положення кульки, яка повинна переміститися, латинською великою X - кінцеве положення кульки.

Вихідні дані

У першому рядку виводиться Y, якщо переміщення можливе, або N, якщо ні. Якщо переміщення можливе далі слід вивести n рядків по n символів - як і на вході, але X, а також всі точки на шляху замінюються плюсами.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5
....X
.OOOO
.....
OOOO.
@....
Вихідні дані #1
Y
+++++
+OOOO
+++++
OOOO+
@++++
Вхідні дані #2
5
..X..
.....
OOOOO
.....
..@..
Вихідні дані #2
N
Вхідні дані #3
5
...X.
.....
O.OOO
.....
....@
Вихідні дані #3
Y
..++.
.++..
O+OOO
.++++
....@