Контест Middle Задачи на Java спрашивают часто обновлено
Кратчайший путь в лабиринте
Условие
Лабиринт задан сеткой: . свободная клетка, # стена, S старт, T цель. За шаг можно перейти в соседнюю по стороне свободную клетку. Найдите минимальное число шагов от S до T.
Ввод: в первой строке n и m (1 ≤ n, m ≤ 1000), далее n строк по m символов. S и T встречаются ровно по одному разу.
Вывод: число шагов или -1, если дойти нельзя.
Пример
3 4
S..#
.#..
...T
5
Как подойти
BFS по сетке.
Подсказки: 2
- Все рёбра одинакового веса: нужен BFS.
- Помечайте клетку при добавлении в очередь.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.