Задачі
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
5 ....X .OOOO ..... OOOO. @....
Вихідні дані #1
Y +++++ +OOOO +++++ OOOO+ @++++