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


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