Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится B начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению 6eз рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 2 [Вперёд 21 Направо 90 Вперёд 27 Направо 90]
Поднять хвост
Вперёд 9 Направо 90 Вперёд 10 Налево 90
Опустить хвост
Повтори 2 [Вперёд 86 Направо 90 Вперёд 47 Направо 90].
Определите, сколько точек с целочисленными координатами будут находиться внутри пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на границах этого пересечения.
Чтобы решить задачу, необходимо последовательно выполнить команды алгоритма, симулируя движение Черепахи и фиксируя координаты её следа на плоскости. Начнем поэтапно:
1. **Первый блок**: `Повтори 2 [Вперёд 21 Направо 90 Вперёд 27 Направо 90]`
- Черепаха начинает в точке (0, 0) и смотрит вверх (по оси Y).
- *Первый цикл*:
1. `Вперёд 21`: переходим в (0, 21).
2. `Направо 90`: теперь голова смотрит вправо (по оси X).
3. `Вперёд 27`: переходим в (27, 21).
4. `Направо 90`: теперь голова смотрит вниз (по оси Y).
5. `Вперёд 21`: переходим в (27, 0).
- *Второй цикл*:
1. `Вперёд 21`: переходим в (27, -21).
2. `Направо 90`: теперь голова смотрит влево (по оси X).
3. `Вперёд 27`: переходим в (0, -21).
4. `Направо 90`: теперь голова смотрит вверх (по оси Y).
5. `Вперёд 21`: переходим в (0, 0).
- В итоге, эта часть образует прямоугольник с вершинами (0, 0), (27, 0), (27, 21), (0, 21).
2. **Поднять хвост**: Черепаха не рисует.
3. **Третий блок**: `Вперёд 9 Направо 90 Вперёд 10 Налево 90`
- Из (0, 0) идем:
1. `Вперёд 9`: переходим в (0, 9).
2. `Направо 90`: теперь голова смотрит вправо.
3. `Вперёд 10`: переходим в (10, 9).
4. `Налево 90`: теперь голова смотрит вверх.
- В итоге, Черепаха завершает этот этап в (10, 9), без рисования.
4. **Опустить хвост**: Черепаха начинает рисовать.
5. **Четвёртый блок**: `Повтори 2 [Вперёд 86 Направо 90 Вперёд 47 Направо 90]`
- *Первый цикл*:
1. `Вперёд 86`: переходим в (10, 95).
2. `Направо 90`: теперь голова смотрит вправо.
3. `Вперёд 47`: переходим в (57, 95).
4. `Направо 90`: теперь голова смотрит вниз.
5. `Вперёд 86`: переходим в (57, 9).
- *Второй цикл*:
1. `Вперёд 86`: переходим в (57, -77).
2. `Направо 90`: теперь голова смотрит вправо.
3. `Вперёд 47`: переходим в (104, -77).
4. `Направо 90`: теперь голова смотрит вверх.
5. `Вперёд 86`: переходим в (104, 9).
Теперь мы имеем две области:
1. Прямоугольник от (0, 0) до (27, 21).
2. Линия от (10, 9) вниз до (57, 9) и затем в (104, 9) и назад.
Вам нужно определить точки с целочисленными координатами в пересечении этих фигур. Первая область округляет координаты от (0, 0) до (27, 21), в то время как вторая линия пересекает по Y=9.
Теперь можно посчитать количество целочисленных точек в области пересечения. Y=9 в пределах X от 10 до 27.
Точки:
- (10, 9), (11, 9), (12, 9), ..., (27, 9).
Это 18 точек (от 10 до 27 включительно).
Ответ: 18.