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