Модуль: Задание 15.1. Программирование робота


8 /9. Проход в стене

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

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



Для проверки решения задачи необходимо зарегистрироваться или авторизоваться!
Предыдущие посылки