Ответ:
Используем обход границ стены: робот проходит вдоль каждого участка стены, в том числе через проход, и рассматривает только клетки, непосредственно примыкающие к стене. Клетку закрашиваем, если она одновременно находится под горизонтальной стеной и слева от вертикальной стены; клетки проходов не закрашиваем.
- Из начальной клетки найти вертикальную стену у её нижнего конца.
- Обойти вертикальную стену до её верхнего конца, не переходя через стену; при проходе продолжить движение вдоль той же линии стены.
- От верхнего конца проследовать вдоль горизонтальной стены до её левого конца, также обходя проход.
- При обходе проверять соседние клетки. Закрашивать только клетки, для которых подтверждены оба условия: клетка непосредственно под горизонтальной стеной и левее вертикальной стены. Если участок стены прерывается проходом, клетки прохода не закрашивать.
- После достижения левого конца горизонтальной стены завершить алгоритм.
Для такого описания предполагаются стандартные команды исполнителя для движения вдоль стены, определения стены или прохода и закрашивания клетки. Конкретные команды зависят от среды, в которой работает Робот.
