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


Решение по шагам
4 шагаИз исходной позиции Робот движется влево вдоль нижней границы лестницы, пока слева нет стены.
Затем Робот поднимается по первой части лестницы до места соединения двух частей. На этом участке закрашивание не выполняется.
После достижения вершины первой части Робот проходит вторую часть лестницы. Для каждого горизонтального участка он закрашивает две клетки, расположенные непосредственно под ним, и поднимается к следующему участку.
Переход к следующей ступени выполняется вправо на две клетки и вверх на одну клетку. Цикл завершается, когда следующей ступени нет.
Один из возможных алгоритмов: нц пока слева свободно; влево; кц; нц пока сверху свободно; вверх; кц; нц пока справа свободно; вправо; закрасить; влево; закрасить; вправо; вправо; если сверху свободно то вверх; все; кц.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Закрашивание клеток под первой частью лестницы.
Попытка двигаться сквозь стену без предварительной проверки.
Закрашивание только одной клетки под ступенью вместо двух.
Отсутствие условия завершения движения по второй части лестницы.