Задача . Проход в стене - 2

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

Напишите программу ниже



Предыдущие посылки