Задание №6 — Анализ алгоритмов для исполнителя

К списку заданий
#69441Задание №6ФИПИ
Анализ алгоритмов и исполнители

Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n — целое число), вызывающая передвижение Цапли на n единиц в том направлении, куда указывает её клюв; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Дуга r, a, b (где r, a, b — целые числа), вызывающая передвижение Цапли из текущей точки с координатами (х, у) по дуге полуокружности с центром в точке с координатами (х + a, у + b) и радиусом r, движение по полуокружности идёт по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Цапле был дан для исполнения следующий алгоритм:
Направо 180 Вперёд 3 Направо 90 Вперёд 48 Направо 90 Вперёд 3 Повтори 6 [Дуга 4, 4, 0].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.