Исполнитель КОРАБЛИК «живет» в ограниченном прямоугольном водоеме-лабиринте, разделенном на клетки и изображенном на рисунке (вид сверху). Серые клетки — скалистые берега, светлые — свободное пространство, безопасное для передвижения КОРАБЛИКА. По краю водоема-лабиринта также находятся скалы с нанесенными на них номерами и буквами для удобства идентификации клеток.
Система команд исполнителя КОРАБЛИК:
вверх вниз влево вправо
При выполнении любой из этих команд КОРАБЛИК перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится КОРАБЛИК (также по отношению к наблюдателю):
сверху
свободноснизу
свободнослева
свободносправа
свободно
Цикл
ПОКА <условие> команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
При попытке передвижения на любую серую клетку КОРАБЛИК разбивается о скалы.
Сколько клеток приведенного лабиринта соответствуют требованию, что, стартовав в ней и выполнив предложенную ниже программу, КОРАБЛИК не разобьется?
НАЧАЛО
ПОКА <справа свободно> вправо
ПОКА <слева свободно> влево
вверх
влево
КОНЕЦ
Разбиться Кораблик может только при выполнении команд "вверх" и "влево". Начав из любой клетки строк 1, 3, 4, 5, 7, столбца А и клеток E6−J6 кораблик разобьётся, выполняя команду влево. Стартовав из клеток С2, E2, G2, I2, K2, M2, O2, O4, O6, O8 кораблик уцелеет. Таким образом, условию удовлетворяет 10 клеток.
Ответ: 10.


Здравствуйте. Мне кажется, что в решение попадут все клетки, ограниченные скалами слева и справа (в этом случае кораблик вообще не будет двигаться). Это клетки A2-A7, C2-C6, E2-E5, G2-G4, I2-I3, K2, M2, O2, O4, O6, O8. В общем таких клеток 26.
Во-вторых, если учесть, что кораблик всё-таки будет двигаться, то мы можем взять клетки A8-I8 (9 клеток). Стартовав из любой из этих клеток, кораблик закончит первый цикл в точке I8. А потом сможет 2 раза выполнить 2-ой цикл, не разбившись.
26+9=35.
Т.е. клеток, соответствующих требованию, 35.
Исправьте, пожалуйста, если ошибаюсь.
Вы не учли, что последние две команды: "вверх" и "вправо" не входят в циклы. Поэтому ваше решение неверно.