Исполнитель МАШИНКА «живет» в ограниченном прямоугольном лабиринте на клетчатой плоскости, изображенном на рисунке. Серые клетки — возведенные стены, светлые — свободные клетки, по которым МАШИНКА может свободно передвигаться. По краю поля лабиринта также стоит возведенная стенка с нанесенными номерами и буквами для идентификации клеток в лабиринте.
Система команд исполнителя МАШИНКА:
вверх вниз влево вправо
При выполнении любой из этих команд МАШИНКА перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится МАШИНКА (также по отношению к наблюдателю):
сверху
свободноснизу
свободнослева
свободносправа
свободно
Цикл
ПОКА <условие> команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
При попытке передвижения на любую серую клетку МАШИНКА разбивается о стенку.
Сколько клеток приведенного лабиринта соответствуют требованию, что, стартовав в ней и выполнив предложенную ниже программу, МАШИНКА не разобьется?
НАЧАЛО
ПОКА <снизу свободно> вниз
ПОКА <слева свободно> влево
вверх
влево
КОНЕЦ
Разбиться Машинка может только при выполнении команд "вверх" и "влево". Начав из любой клетки столбцов A, C, E, G, H, J, O и клеток B8, D1, F7 − F8, I8, K1, L1, L3 − L4, N1 машинка разобьётся, выполняя команду влево. Стартовав из любой клетки столбца M, клеток I1, I2, I4 − I6, L6 − L8, K7 машинка не разобьётся.
Таким образом, условию задачи соответствуют 17 клеток.
Ответ: 17.

