Исполнитель Робот действует на клетчатой доске, между соседними клетками которой могут стоять стены. Робот передвигается по клеткам доски и может выполнять команды 1 (вверх), 2 (вниз), 3 (вправо) и 4 (влево), переходя на соседнюю клетку в направлении, указанном в скобках. Если в этом направлении между клетками стоит стена, то Робот разрушается. Робот успешно выполнил программу 33233241 Какую последовательность из четырех команд должен выполнить Робот, чтобы вернуться в ту клетку, где он был перед началом выполнения программы, и не разрушиться вне зависимости от того, какие стены стоят на поле?

1 Ноя в 19:40
6 +1
0
Ответы
1
Рассмотрим путь, начиная с (0,0)(0,0)(0,0), по команде 3 3 2 3 3 2 4 1\,3\,3\,2\,3\,3\,2\,4\,133233241:
(0,0)→3(1,0)→3(2,0)→2(2,−1)→3(3,−1)→3(4,−1)→2(4,−2)→4(3,−2)→1(3,−1).(0,0)\xrightarrow{3}(1,0)\xrightarrow{3}(2,0)\xrightarrow{2}(2,-1)\xrightarrow{3}(3,-1)\xrightarrow{3}(4,-1)\xrightarrow{2}(4,-2)\xrightarrow{4}(3,-2)\xrightarrow{1}(3,-1).(0,0)3 (1,0)3 (2,0)2 (2,1)3 (3,1)3 (4,1)2 (4,2)4 (3,2)1 (3,1).
Итоговая клетка — (3,−1)(3,-1)(3,1), старт — (0,0)(0,0)(0,0). По пройденным рёбрам (они свободны, иначе робот не смог бы их пройти) из (3,−1)(3,-1)(3,1) за четыре шага можно вернуться в (0,0)(0,0)(0,0):
(3,−1)→4(2,−1)→1(2,0)→4(1,0)→4(0,0).(3,-1)\xrightarrow{4}(2,-1)\xrightarrow{1}(2,0)\xrightarrow{4}(1,0)\xrightarrow{4}(0,0).(3,1)4 (2,1)1 (2,0)4 (1,0)4 (0,0).
Значит искомая последовательность команд: 4 1 4 4\,4\,1\,4\,44144 (то есть 414441444144).
1 Ноя в 19:59
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир