Задача . Робот IN9_23012025-1

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
У Робота четыре команды – это команды-приказы: вверх   вниз   влево   вправо
При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.
Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.
Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений: сверху свободно, снизу свободно, слева свободно, справа свободно. Или сверху стена, снизу стена, слева стена, справа стена.
Выполните задание.

На бесконечном поле имеются две вертикальные стены и одна горизонтальная, соединяющая нижний конец левой и верхний конец правой вертикальных стен.

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

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

Робот должен закрасить только клетки (мигающие черные), удовлетворяющие данному условию и вернуться на базу (зеленая клетка). При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен и любого расположения и размера проходов внутри стен.
 

Напишите программу ниже



1
2
3
4
Предыдущие посылки