7Б "Робот". Задание №8: ищем выход!

Это – дополнительный листок со сложными задачами. Его выполнение обязательно для тех, кто претендует на отличную оценку.

Задание 08-A

Робот находится в левом верхнем углу прямоугольного поля. На поле может быть несколько горизонтальных стен, но при этом есть проход из левого нижнего в правый нижний угол. Переместите робота в правый нижний угол. Ваш алгоритм должен работать на любых стартовых обстановках произвольного размера, удовлетворяющих условию задачи.


Решение задачи сохраните в файле ~/kumir/08/A.kum
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /home/pub/kumir/fields/08/A

Задание 08-B

Робот находится внутри лабиринта, внутри которого есть стены в виде горизонтальных или вертикальных прямолинейных отрезков, не касающихся друг друга и внешних стен. Переместите робота в правый нижний угол. Ваш алгоритм должен работать на любых стартовых обстановках произвольного размера, удовлетворяющих условию задачи.


Решение задачи сохраните в файле ~/kumir/08/B.kum
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /home/pub/kumir/fields/08/B

Задание 08-С

Задание аналогично предыдущему, но внутренние стенки могут касаться внешних стен прямоугольного поля (но не могут пересекаться и касаться друг друга).


Решение задачи сохраните в файле ~/kumir/08/C.kum
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /home/pub/kumir/fields/08/C

Задание 08-D

На бесконечном поле имеется бесконечная горизонтальная стена. Робот находится ниже стены в соседней со стеной клетке. Где-то в стене есть проход. Робот должен найти проход и остановиться в клетке над проходом.


В этой задаче поле и стена предполагаются бесконечными, поэтому решения, использующие внешние стенки поля (например, нц пока слева свободно ... кц), а также решения, содержащие циклы, выполняющиеся фиксированное количество раз (например, нц 1000 раз ... кц) приниматься не будут.


При решении этой задачи разрешается закрашивать клетки.


Указание: для решения этой задачи – закрашивайте клетки!


Решение задачи сохраните в файле ~/kumir/08/D.kum
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /home/pub/kumir/fields/08/D

Задание 08-E

Робот находится внутри извилистого коридора шириной в одну клетку. Коридор замкнут в кольцо. Более формально все эти условия означают, что из каждой клетки коридора можно пройти ровно в две другие клетки коридора.


Закрасьте все клетки этого коридора.


Решение задачи сохраните в файле ~/kumir/08/E.kum
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /home/pub/kumir/fields/08/E

Задание 08-F

Робот стоит у стены, ограничивающей линейно-выпуклый многоугольник (т.е. такой многоугольник, что пересечение его с любой вертикальной или горизонтальной прямой может быть только отрезком), снаружи этой стены. Закрасьте полоску шириной в одну клетку вокруг этого многоугольника.


Решение задачи сохраните в файле ~/kumir/08/F.kum
Проверьте свой алгоритм на всех стартовых обстановках робота, находящихся в каталоге /home/pub/kumir/fields/08/F