Петя изучает языки программирования. Сегодня он пишет программу для робота, перемещающегося по лабиринту. Робот может передвигаться в соседнюю по стороне клетку с той, в которой он находится, если между ними нет стены. Если робот врежется в стену, он разрушится. Робот может проверять верность различных условий, например, есть ли слева, справа, сверху или снизу стена.
Сегодня Петя нарисовал такой лабиринт и написал такую программу:
пока слева нет стены:
влево
вниз
вверх
влево
Сколько клеток в лабиринте таковы, что робот доберется до сокровища (то есть, окажется в одной клетке с сокровищем по окончании работы программы) и не разрушится, если начнет движение с одной из них?
Комментарий. В Петином языке программирования отступы очень важны, команды, находящиеся на одном и том же количестве отступов от левого края объединяются в блок. То есть, команды
влево
вниз
выполняются вместе на каждой итерации цикла. А команды
вверх
влево
выполнятся уже после окончания цикла.
Answers & Comments