Побег из подземных тоннелей
Просмотр в формате PDFВ горной системе расположена прямоугольная сеть шахт и подземных ходов размером n × m.
Каждая клетка этой сети может быть одного из двух типов:
'.'— свободная шахта, по которой можно пройти;'+'— завал, пройти через такую клетку нельзя.
Шахтёр находится в клетке с координатами (sx, sy). Эта клетка гарантированно свободна.
За один шаг шахтёр может перейти из текущей клетки в одну из соседних по стороне клеток: вверх, вниз, влево или вправо, если эта клетка существует и не является завалом.
Выходом из подземелья считается любая свободная клетка на границе прямоугольника, кроме начальной клетки (sx, sy), даже если она сама лежит на границе.
Требуется определить минимальное количество шагов, необходимое шахтёру, чтобы добраться до ближайшего выхода. Если выбраться невозможно, выведите -1.
Входные данные
В первой строке записаны два целых числа n и m — количество строк и столбцов в сети шахт.
В следующих n строках содержится описание карты подземных тоннелей — по одной строке длины m, состоящей из символов '.' и '+'.
В последней строке записаны два целых числа sx и sy — координаты начальной клетки.
Нумерация строк и столбцов начинается с 0.
Выходные данные
Выведите одно целое число — минимальное количество шагов до ближайшего выхода, либо -1, если выхода нет.
Ограничения
1 ≤ n, m ≤ 100maze[i][j]— либо'.', либо'+'0 ≤ sx < n0 ≤ sy < mmaze[sx][sy] = '.'
Примеры
Пример 1
Входные данные
3 4
++++
...+
++..
1 2
Выходные данные
1
Пример 2
Входные данные
3 3
+..
...
..+
1 0
Выходные данные
2
Пример 3
Входные данные
1 2
..
0 0
Выходные данные
-1
Комментарии