Вопрос:

8. Исполнитель Робот передвигается по клетчатому полю, выполняя команды, которым присвоены номера: 1 на клетку вверх, 2 — на клетку вниз, 3 — на клетку вправо, 4 - на клетку влево. Между соседними клетками поля могут стоять стены. Если при выполнении очередного шага Робот сталкивается со стеной, то он разрушается. В результате выполнения программы 3242332411 Робот успешно прошел из точки А в точку Б. Какую программу необходимо выполнить, чтобы вернуться из точки Б в точку А по кратчайшему пути и не подвергнуться риску разрушения?

Ответ:

Чтобы вернуться из точки Б в точку А, роботу нужно выполнить действия, обратные тем, что он выполнял при движении из А в Б. Поскольку 1 - это вверх, 2 - это вниз, 3 - это вправо, а 4 - это влево, то обратные действия будут такими: вверх заменяем на вниз, вниз на вверх, вправо на влево, а влево на вправо. Соответственно, 1 меняем на 2, 2 на 1, 3 на 4, а 4 на 3.

Исходная программа: 3242332411

Заменяем команды:

3 -> 4

2 -> 1

4 -> 3

2 -> 1

3 -> 4

3 -> 4

2 -> 1

4 -> 3

1 -> 2

1 -> 2

Получаем программу:

Ответ: 4131441322

Смотреть решения всех заданий с листа

Похожие