Исполнитель "кораблик" "живёт" в ограниченном прямоугольном водоёме-лабиринте, разделённом на клетки и изображённом на рисунке. Серые клетки – скалистые берега, светлые – свободное пространство, безопасное для передвижения кораблика. По краю водоёма-лабиринта также находятся скалы с нанесенными на них номерами и буквами для удобства идентификации клеток.
Программа для кораблика имеет следующий вид:
НАЧАЛО
ПОКА <сверху свободно>
вверх
КОНЕЦ ПОКА
ПОКА <слева свободно>
влево
КОНЕЦ ПОКА
вверх
вправо
КОНЕЦ
Команды вверх, влево и вправо в этой программе означают переход на соседнюю клетку сверху, слева или справа соответственно (с точки зрения наблюдателя). При попытке передвижения на любую серую клетку кораблик разбивается о скалы.
Для примера, если кораблик перед выполнением программы находился в клетке E8, то после завершения программы он окажется в клетке D7.
Вам необходимо ответить на вопросы:
- Сколько клеток посетит кораблик (включая начальную и конечную), если перед выполнением программы он находился в клетке H4?
- В какой клетке окажется кораблик после выполнения программы, если перед её выполнением он находился в клетке F6?
- Сколько клеток приведенного лабиринта соответствуют требованию, что, стартовав в ней и выполнив предложенную выше программу, кораблик не разобьется?
- В какой клетке кораблик должен находиться перед выполнением программы, чтобы пройти самый длинный путь и не разбиться?
- Если пробовать запускать кораблик из всех белых клеток, то в скольких различных клетках он может оказаться после завершения программы, не разбившись?
Выходные данные
Решением данной задачи должен быть текстовый файл (с расширением .txt), содержащий ровно пять строк, в которых записаны ответы на вопросы. Если вы не знаете какого-то ответа, то оставьте эту строку пустой.
Пример, как должен выглядеть файл с ответами (все ответы в этом примере неправильные):
3
D5
12
B5
10