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