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


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