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