Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите в Blockly программу для робота-чертежника, который может перемещаться только между точками с целыми координатами
и поворачивать на углы, кратные 45 градусам. При движении робот проводит линию.
После выполнения программы робот должен вернуться в начальную точку, нарисовав `n`-угольник, возможно невыпуклый, без самопересечений
(робот не должен пересекать нарисованные ранее линии или возвращаться в точку, где ранее был, кроме начальной точки в конце программы).
Форма `n`-угольника может быть любой, но робот не должен удаляться от начальной точки далее 250 единиц по горизонтали или вертикали.
Для написания программы управления роботом вы можете использовать следующие блоки, заданные в категории "Робот":

Первый блок позволяет получить количество углов `n`-угольника (вы можете задавать это значение в соответствующем поле).
Второй блок указывает роботу двигаться вперед в текущем направлении.
При этом робот перемещается в соседнюю точку с целыми координатами, как показано на рисунке.

Третий блок указывает роботу изменить направление на указанный угол по часовой стрелке (для положительных значений) или против часовой стрелки (для отрицательных значений).
Первоначально робот направлен направо:

Например, чтобы нарисовать треугольник, нужно выполнить следующие команды:

Следующие пять блоков позволяют выполнять арифметические вычисления, проверять четность и сравнивать значения между собой.
Девятый блок дает возможность повторить выполнение некоторой группы блоков. Например, для рисования шестиугольника можно выполнить программу:

Последние два блока позволяют выбрать выполняемую группу блоков в зависимости от условия. В настройках блока (символ шестеренки) можно
добавить или убрать дополнительные ветки выбора. После завершения настройки нужно повторно нажать на символ шестерёнки.
Для создания переменной в категории "Переменные" нужно щелкнуть по кнопке "Создать переменную" и ввести её название.
После этого в категории "Переменные" появятся блоки для получения и изменения значения переменной.
Для запуска программы используйте кнопки:

Первая кнопка позволяет отправить ваше решение для проверки в проверяющую систему соревнований, вторая кнопка выполняет запуск программу локально, третья –
пошаговое выполнение или временная остановка программы, четвертая -- завершение выполнения программы, после которой программа будет выполняться сначала.
Например, после запуска на выполнение программы, показанной выше, робот нарисует шестиугольник:

Две кнопки над полем для рисования позволяют менять масштаб изображения как во время выполнения программы, так и после.
*Система оценки и описание подзадач*
||.u|Подзадача 1 (80 баллов)||
Количество углов от 3 до 10.
В этой подзадаче 8 тестов, каждый тест оценивается в 10 баллов. Баллы за каждый тест начисляются независимо.
||.u|Подзадача 2 (20 баллов)||
Количество углов от 11 до 100.
Необходимые подзадачи: 1.
В этой подзадаче 4 теста, каждый тест оценивается в 5 баллов. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки на каждом тесте.
---
Для написания программы для робота используется [специальная версия среды Blockly](blockly/2685.html).
Вы можете использовать полную среду Blockly при решении других задач этого соревнования, выбрав пункт Blockly
в информационном меню задачи.