Ограничения: время – 200ms/200ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Пора готовить новогодние украшения, можно украсить комнату снежинками. Для этого нужно взять квадратный лист бумаги, сложить его вдвое трижды,
сделать несколько вырезов и снова развернуть лист -- снежинка готова.
![Снежинка](52744.png)
Напишите в Blockly программу для робота, который анализирует расположение цветов в треугольнике в верхнем углу квадратного поля `9 xx 9` клеток
и выполняет их отражение по трём осям симметрии на остальные части поля.
![vertical-align: middle|Начало](52745.png) `->` ![vertical-align: middle|Начало](52743.png)
Для написания программы управления роботом вы можете использовать следующие блоки, заданные в категории "Робот":
![Команды робота](52746.png)
Первые четыре команды позволяют роботу перемещаться в соответствующем направлении. Если выполнение команды движения невозможно, то она игнорируется.
Пятая команда позволяет переместить робота в клетку с указанными координатами.
Шестая команда позволяет перекрасить клетку, на котором находится робот, в указанный цвет.
Остальные команды позволяет узнать цвет текущей клетки и координаты текущей клетки.
Для создания переменной в категории "Переменные" нужно щелкнуть по кнопке "Создать переменную" и ввести её название, например, "цвет".
После этого в категории "Переменные" появятся блоки для получения и изменения значения переменной.
Например, чтобы скопировать цвет из клетки (1,1) в клетку (1,2), нужно выполнить программу:
![Программа](52740.png)
Нажимая на клетки поля, можно задать цвета для рисования снежинки.
В категориях "Логические" и "Циклы" можно найти блоки для ветвления и циклов, в категории "Математика" -- блоки для математических операций.
Для запуска программы используйте кнопки:
![Кнопки](52738.png)
Первая кнопка позволяет отправить ваше решение для проверки в проверяющую систему соревнований, вторая кнопка выполняет запуск программу локально, третья –
пошаговое выполнение или временная остановка программы, четвертая -- завершение выполнения программы, после которой программа будет выполняться сначала.
*Система оценки и описание подзадач*
||.u|Подзадача 1 (10 баллов)||
Необходимо нарисовать снежинку из начального состояния на рисунке.
![Начало](52745.png)
В этой подзадаче 1 тест, показанный на рисунке.
||.u|Подзадача 2 (20 баллов)||
Все клетки треугольника для рисования снежинки имеют одинаковый цвет как показано на рисунке, т.е. снежинка будет одноцветным квадратом.
![Начало](52742.png)
В этой подзадаче 2 теста, каждый тест оценивается в 10 баллов. Баллы за каждый тест начисляются независимо.
||.u|Подзадача 3 (30 баллов)||
Клетки треугольника для рисования снежинки покрашены горизонтальными полосами как показано на рисунке.
![vertical-align: middle|Начало](52741.png) `->` ![vertical-align: middle|Начало](52739.png)
Необходимые подзадачи: 2.
В этой подзадаче 3 теста, каждый тест оценивается в 10 баллов. Баллы за каждый тест начисляются независимо.
||.u|Подзадача 4 (40 баллов)||
Клетки треугольника для рисования снежинки могут иметь любой цвет.
Необходимые подзадачи: 1,2,3.
В этой подзадаче 4 теста, каждый тест оценивается в 10 баллов. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки на каждом тесте.
Обратите внимание, что баллы за подзадачу 1 и подзадачу 2 будут просуммированы, только если решена подзадача 4.
---
Для написания программы для робота используется [специальная версия среды Blockly](blockly/2822.html).
Вы можете использовать полную среду Blockly при решении других задач этого соревнования, выбрав пункт Blockly
в информационном меню задачи.