Разбор задачи A13 (демо ЕГЭ 2012)
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:
вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА < условие > команда выполняется, пока условие истинно, иначе происходит переход на
следующую строку.
Если РОБОТ начнёт движение в сторону стены, то он разрушится и программа прервётся.
Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?
НАЧАЛО
ПОКА < справа свободно > вниз
ПОКА < снизу свободно > влево
ПОКА < слева свободно > вверх
ПОКА < сверху свободно > вправо
КОНЕЦ
- 1
- 3
- 5
- 7
Сначала построим траекторию движения робота. Она изображена на рисунке:
Черной точкой обозначена клетка, из которой начнет движение робот. Из рисунка видно,что клетка, из которой должен начать движение робот, должна быть сверху ограничена барьером. Стена, окружающая лабиринт, также является барьером. Если это условие не будет выполняться, то робот пройдет дальше и не остановится в клетке, с которой начал движение. Отметим клетки,ограниченные сверху барьером. Это и будут потенциальные клетки,которые нам нужно найти.
Теперь проверим каждую из этих точек. Для каждой точки нарисуем траекторию движения робота:
Там,где стрелочка касается барьера или стены лабиринта, произошло разрушение робота. Только три клетки удовлетворяют требованиям задачи: робот не разрушится и вернется в ту же клетку,с которой начал движение. На рисунке они обозначены розовыми большими овалами.