eolymp
bolt
Try our new interface for solving problems
Məsələlər

Ладья в лабиринте

Ладья в лабиринте

\textit{Ладья} - это шахматная фигура, которая за один ход может переместиться на любое количество клеток по горизонтали или вертикали. При этом она не может "перепрыгивать" через стоящие на её пути фигуры. Вася недавно соорудил на шахматной доске своеобразный лабиринт - в некоторые клетки доски он поставил пешки (самые "слабые" шахматные фигуры). Теперь он хочет знать, за какое минимальное количество ходов ладья может добраться из одной клетки в другую. Он размышляет над этим вопросом уже несколько дней, однако найти ответ не может. Поэтому он обратился за помощью к Вам. Напишите программу, находящую ответ на Васину задачу. \InputFile Первая строка входного файла содержит два натуральных числа: \textbf{n} и \textbf{m} (\textbf{1} ≤ \textbf{n}, \textbf{m} ≤ \textbf{500}) - размеры лабиринта. Каждая из последующих \textbf{n} строк содержит \textbf{m} символов. \textbf{j}-ый символ \textbf{i}-ой из этих строк соответствует клетке с координатами (\textbf{i}, \textbf{j}). Он равен "\textbf{.}" (точка), если клетка пуста, \textbf{P}, если занята пешкой, \textbf{S}, если это начальная клетка для ладьи, \textbf{F}, если это конечная клетка. \OutputFile В выходной файл выведите минимальное количество ходов, требуемое ладье для того, чтобы из начальной клетки попасть в конечную. Если конечная клетка недостижима из начальной - выведите \textbf{-1}.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
4 4
F.PS
.PP.
.PP.
....
Çıxış verilənləri #1
3