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

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

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



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