А13_разбор

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