Задания № 5, 8 · ЕГЭ

Обход препятствий исполнителем

Как проверить команду и построить безопасный маршрут
3 мин чтенияСложность: Обновлено 29 сентября 2026

Обход препятствий исполнителем — это проверка каждой команды движения и выбор таких команд, при которых исполнитель не пересекает стены и не выходит за границы поля. Для решения задачи нужно учитывать текущее положение исполнителя и выполнять только допустимые перемещения.

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

Сначала определяют положение исполнителя: координаты клетки или точки и направление движения, если оно задано. Затем рассматривают перемещение исполнителя: куда он попадёт после команды и какие клетки пересечёт. Стена является препятствием исполнителя, поэтому нельзя пересекать её даже в том случае, если конечная клетка находится внутри поля.

Проверка допустимости команды

Для каждой команды полезно выполнять одинаковую последовательность действий: найти предполагаемое новое положение, проверить границы поля, проверить стены на пути и только после этого изменить положение исполнителя. Если хотя бы одна проверка не пройдена, команда считается недопустимой. В зависимости от условия задачи её либо не выполняют, либо фиксируют ошибку.

\[\text{команда допустима} \iff \text{новое положение внутри поля} \land \text{путь не пересекает стену}\]
№
Пример

Исполнитель находится в клетке \((3,2)\) и получает команду «вправо». Если поле имеет ширину \(5\), новая клетка \((4,2)\) находится внутри поля. Если между клетками \((3,2)\) и \((4,2)\) нет стены, команда допустима. При наличии стены исполнитель остаётся в прежней клетке, если именно такое правило указано в задаче.

Проверь себя

Исполнитель стоит у правой границы поля. Что нужно проверить перед командой «вправо»?

!
Не путайте

Стена и граница поля — не одно и то же. Граница ограничивает поле снаружи, а стена может находиться внутри него и разделять соседние клетки. Кроме того, недопустимость команды не всегда означает остановку исполнителя: правило поведения нужно прочитать в условии.

Маршрут строят пошагово: после каждой допустимой команды обновляют положение и снова проверяют следующую команду. Если требуется найти любой путь, удобно отмечать посещённые клетки; если требуется выполнить заданную программу, проверяют команды строго по порядку.

Главное за минуту

Главное

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