Контест Middle Матрицы спрашивают часто обновлено

Кратчайший путь в лабиринте

Условие

Лабиринт n × m: . проход, # стена, S старт, E выход (ровно по одному). За шаг можно перейти в соседнюю по стороне клетку, не являющуюся стеной. Найдите минимальное число шагов от S до E или -1, если выхода не достичь.

Ввод: в первой строке n и m (1 ≤ n, m ≤ 200, n · m ≥ 2), далее n строк по m символов.

Вывод: минимальное число шагов или -1.

Пример 1

Ввод:

3 4
S..#
.#..
...E

Вывод:

5

Пример 2

Ввод:

2 3
S#E
.#.

Вывод:

-1

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.