Решение: Пересечение фигур Черепахи
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. Команды «Поднять хвост» и «Опустить хвост» переключают режим рисования; команды «Вперёд n» и «Назад n» перемещают Черепаху; команды «Направо m» и «Налево m» изменяют направление движения. Запись «Повтори k [команды]» означает повторение последовательности команд k раз.
Черепахе был дан алгоритм:
Повтори 3 [Вперёд 27 Направо 90 Вперёд 12 Направо 90]
Поднять хвост
Вперёд 4 Направо 90 Вперёд 6 Налево 90
Опустить хвост
Повтори 3 [Вперёд 83 Направо 90 Вперёд 77 Направо 90]
Определите, сколько точек с целочисленными координатами находятся внутри области пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на границах этого пересечения.
Решение по шагам
3 шагаПоследовательно отслеживаем положение Черепахи и направление её движения после каждой команды. Первая группа команд задаёт одну фигуру, а после перемещения с поднятым хвостом строится вторая фигура.
Находим общую область двух фигур по пересечению их диапазонов координат.
Подсчитываем целочисленные точки общей области, учитывая точки на границах. Получается 168 точек.
Где здесь ошибаются
Не учитывать точки на границах пересечения.
Ошибиться в направлении движения после поворота на 90 градусов.
Считать перемещение при поднятом хвосте частью первой фигуры.