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+
@++++