Решение: Точки внутри черепашьей области
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет след в виде линии. Команда «Вперёд $n$» перемещает Черепаху на $n$ единиц в направлении её головы, а команда «Направо $m$» изменяет направление движения на $m$ градусов по часовой стрелке. Запись «Повтори $k$ [команды]» означает повторение последовательности команд $k$ раз. Черепахе дан алгоритм: «Направо $315$; Повтори $7$ [Вперёд $12$; Направо $45$; Вперёд $6$; Направо $135$]». Определите, сколько точек с целочисленными координатами находится внутри области, ограниченной линией, заданной алгоритмом. Точки на линии учитывать не следует.
Решение по шагам
4 шагаПосле команды «Направо $315$» Черепаха направлена под углом $45^\circ$ к положительному направлению оси абсцисс.
Смоделируем выполнение алгоритма, последовательно вычисляя координаты вершин и учитывая повороты после каждого перемещения. После семи повторений линия замыкается и образует ограниченную область.
Найдём минимальный и максимальный $x$ и $y$ среди вершин многоугольника. Переберём все точки с целочисленными координатами в получившемся ограничивающем прямоугольнике.
Для каждой точки проверим, находится ли она строго внутри многоугольника. Точки, лежащие на отрезках границы, не учитываем. Число подходящих точек равно $40$.
Где здесь ошибаются
Считать точки, лежащие на границе области.
Поворачивать Черепаху против часовой стрелки вместо часовой.
Не учитывать изменение направления после каждого поворота.
Проверять только вершины многоугольника, а не все целочисленные точки внутри области.