Древний замок
면접 대비시간 제한2초메모리 제한1024 MB
n x m 격자에서 주어진 순서대로 k개 돌에 인접한 칸을 차례로 방문한 뒤 도착 칸에 이르는 최단 시간을 구한다.
문제
Кэл Кестис обнаружил древний храм Силы. Вход в храм находится в прямоугольной пещере. Чтобы попасть в храм, нужно открыть рунический замок, которым запечатан вход.
Пещера, в которой находится вход в храм, имеет размеры метров, и поделена на квадраты размера метр. Представим пещеру в виде таблицы , строки которой пронумерованы от до сверху вниз, а столбцы --- от до слева направо. В некоторых квадратах находятся рунические камни, а остальные квадраты свободны. Кэл может перемещаться только по свободным квадратам. За единицу времени он может переместиться из квадрата в соседний по стороне.
Сейчас Кэл находится в некотором квадрате пещеры. Чтобы открыть вход в храм, нужно в правильном порядке коснуться нескольких рунических камней. После чего, Кэл должен дойти до квадрата, в котором откроется вход в храм. Чтобы коснуться рунического камня, расположенного в некотором квадрате, Кэл должен встать в квадрате, соседнем по стороне. На то, чтобы коснуться камня, Кэл не тратит дополнительного времени.
За Кэлом гонятся инквизиторы Империи, и он хочет узнать, за какое минимальное время можно открыть замок и войти в храм. Помогите ему узнать эту величину.
입력
В первой строке даны три целых числа , и --- размеры пещеры и длина последовательности камней, до которых Кэл должен дотронуться (; ).
В следующих строках дано по символов --- описание пещеры. Символ <<\#>> соответствует непроходимой клетке, содержащей камень. Все остальные клетки свободны. Символ <<S>> соответствует квадрату, в котором Кэл находится изначально. А символ <<F>> соответствует квадрату, в котором откроется вход в храм. Кэл должен будет прийти в него после того, как откроет замок. Все остальные символы равны <<.>>. Гарантируется, что символы <<S>> и <<F>> встречаются ровно по одному разу.
В следующих строках даны по два целых числа и --- номер строки и столбца, на пересечении которых находится -й камень, которого Кэл должен коснуться. Гарантируется, что квадрат на пересечении строки номер и столбца номер содержит камень для всех от до .
출력
Если Кэл не сможет открыть замок и войти в храм, выведите число . Иначе, выведите минимальное время, необходимое, чтобы открыть замок и дойти до входа в храм.
힌트
В первом примере, Кэл сначала должен дойти до квадрата за шагов. Коснуться камня . Перейти в соседний справа квадрат. Коснуться камня . Затем, дойти до квадрата за шагов. Коснуться камня . Перейти в соседний слева квадрат. После чего, его маршрут закончится. Суммарно он потратит единиц времени.