Роб спешит отыскать выход из лабиринта и беспокоится о том, что у него может закончиться энергия в

Роб спешит отыскать выход из лабиринта и беспокоится о том, что у него может закончиться энергия в процессе поиска оптимального пути. Обязательно пометь все клетки, пройденные в ходе поиска пути!
Тема: Решение лабиринта с пометкой пройденных клеток

Пояснение: Для решения данной задачи роботу Робу необходимо пройти через лабиринт, помечая все клетки, которые он посетил. Чтобы это сделать, Роб может использовать алгоритм поиска в глубину (DFS) или поиска в ширину (BFS).

Пример использования: Представим следующий лабиринт, где R — начальная позиция Роба, E — конечная цель, # — стена, и пустые клетки — доступные пути:

#######
#     #
# ### #
# #E# #
# # # #
#R    #
#######

Роб начинает свой путь в клетке R. Он может выбрать любую доступную соседнюю клетку и двигаться в нее. Затем он помечает данную клетку как посещенную, чтобы не возвращаться туда снова. Роб продолжает двигаться по лабиринту, выбирая доступные пути и помечая посещенные клетки. Если Роб сталкивается со стеной (#) или с уже посещенной клеткой, то он возвращается назад и выбирает другой путь, если таковой есть. Роб продолжает искать путь до тех пор, пока не достигнет цели E или пока не исчерпает всю энергию.

Совет: Для решения данной задачи, при использовании алгоритма поиска пути в лабиринте, рекомендуется помечать клетки, которые уже были посещены, например, используя символ ‘X’. Это поможет Робу избежать замкнутых циклов и возврата на уже посещенные пути.

Задание для закрепления: Попробуйте решить данный лабиринт с помощью алгоритма поиска в глубину (DFS) или поиска в ширину (BFS), помечая уже посещенные клетки символом ‘X’.

Твой друг не знает ответ? Расскажи!