Контест Middle Задачи на Kotlin спрашивают часто обновлено
Кратчайший путь в лабиринте (BFS)
Условие
Лабиринт n × m: . свободно, # стена, S старт, F финиш. За шаг можно сдвинуться на соседнюю по стороне свободную клетку. Найди минимальное число шагов от S до F.
Ввод. n m (1 ≤ n, m ≤ 200), затем n строк по m символов. S и F встречаются ровно по разу.
Вывод. Число шагов или -1, если финиш недостижим.
Как подойти
Подсказки: 2
- Невзвешенный граф: какой обход даёт кратчайшие пути?
- Отмечай клетку при добавлении в очередь.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.