Исполнитель МАШИНКА «живет» в ограниченном прямоугольном лабиринте на клетчатой плоскости, изображенном на рисунке. Серые клетки — возведенные стены, светлые — свободные клетки, по которым МАШИНКА может свободно передвигаться. По краю поля лабиринта также стоит возведенная стенка с нанесенными номерами и буквами для идентификации клеток в лабиринте.
Система команд исполнителя МАШИНКА:
вверх вниз влево вправо
При выполнении любой из этих команд МАШИНКА перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится МАШИНКА (также по отношению к наблюдателю):
сверху
свободноснизу
свободнослева
свободносправа
свободно
Цикл
ПОКА <условие> команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
При попытке передвижения на любую серую клетку МАШИНКА разбивается о стенку.
Сколько клеток приведенного лабиринта соответствуют требованию, что, стартовав в ней и выполнив предложенную ниже программу, МАШИНКА не разобьется?
НАЧАЛО
ПОКА <снизу свободно> вниз
ПОКА <слева свободно> влево
вверх
вправо
КОНЕЦ
Разбиться Машинка может только при выполнении команд "вверх" и "вправо". Начав из любой клетки столбцов A, G, H, I, O, и клеток B2−F2, D4, J4−J6, K5−K6, L6, L4, машинка разобьётся, выполняя команду вправо. Стартовав из клеток B4−B6, C4−C5, N4−N6, М4−М5 машинка не разобьётся.
Ответ: 10.

