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


Шешім по шагам
4 қадамСпускаемся вдоль левой стороны правой вертикальной стены до клетки под её нижним концом.
Переходим вправо и поднимаемся вдоль правой стороны правой стены. В каждой клетке справа от стены выполняем команду «закрасить».
После выхода выше правой стены перемещаемся влево по свободной области до клетки справа от левой вертикальной стены.
Спускаемся вдоль правой стороны левой стены, закрашивая все клетки. После прохождения стены алгоритм завершается.
нц пока снизу свободно
вниз
кц
вправо
нц пока не слева свободно
закрасить
вверх
кц
нц пока слева свободно
влево
кц
нц пока не слева свободно
закрасить
вниз
кц
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Закрашивание клеток слева от вертикальных стен вместо клеток справа.
Попытка пройти сквозь стену без проверки направления.
Отсутствие обхода нижнего конца правой стены.
Продолжение движения после выхода за конец стены, из-за чего закрашиваются лишние клетки.