Турнир Архимеда по программированию был задуман как развитие идеи серии математических соревнований в рамках Турнира Архимеда по математике для 5-7 классов, многие годы проводимых в Москве. Целевая аудитория турнира – школьники, изучающие программирование первый год (именно поэтому он проводится в конце учебного года). При этом мы не ограничиваем возраст школьников: наряду с 7-классниками из математических школ в турнире участвуют и 11-классники, только-только познакомившиеся с программированием.
Страница с задачами Турниров Архимеда по программированию с on-line тестированием (за 2007-2017 годы) — https://informatics.msk.ru/course/view.php?id=16
Координаторами турнира были:
В 2007-2014 гг. - Гуровиц Владимир Михайлович (МЦНМО, ФМШ №2007, г. Москва)
В 2015 г. - Петрова Валерия Юрьевна (Фоксфорд, г. Санкт-Петербург)
В 2016-2019 гг. - Перовская Лидия Марковна (ИТМО, г. Санкт-Петербург), на платформе Яндекс-контест
В 2021 г. - Маврин Павел Юрьевич (ИТМО, г. Санкт-Петербург), на платформе Codeforces
С 2022 г. - Павлов Дмитрий Сабитович (МАОУ "Лицей № 56" г. Новоуральск), на платформе Codeforces
Для мероприятия была выбрана командная форма, как более увлекательная и обучающая (школьники обучаются в общении друг с другом) форма. С 2006 года турнир проводится в Москве, а в 2010 году он впервые был проведен и в других городах России, Украины, Белоруссии.
В 2016-2019 годах платформой для проведения олимпиады являлся Яндекс.Контест.
В 2020 году Турнир не проводился из-за пандемии коронавирусной инфекции COVID19
С 2021 года платформой для проведения олимпиады является Codeforces.
Турнир проводится по традиционным для командных олимпиад правилам (ACM): засчитываются только верно решенные задачи, при подведении итого учитывается количество решенных задач, а при равном количестве задач – “штрафное время” (см. ниже).
Задачи Турнира рассчитаны на самый широкий круг участников: они в большинстве своем не требуют знаний математики, выходящих за рамки программы 6-7 класса, а также доступны школьникам, не овладевшим целиком еще даже основами языка программирования (например, школьникам, не владеющим строками или двумерными массивами, будут доступны большинство задач).
Турнир включает в себя открытие (рассказ о правилах командных олимпиад и об особенностях проверки олимпиадных задач), пробный тур (знакомство с техникой и тестирующей системой), основной тур, разбор задач и награждение победителей.
Общие правила
Турнир Архимеда по программированию — очная командная олимпиада по информатике.
Перед основным туром как правило проводится пробный тур, на котором участникам предлагаются 1-2 задачи для знакомства с рабочим местом и тестирующей системой. Продолжительность тура определяется местными организаторами. Результаты пробного тура никак не учитываются при подведении итогов турнира. Во время пробного тура допускается присутствие руководителей команд и их общение со школьниками.
Продолжительность основного тура — 3 часа. На олимпиаде команде из трёх человек предоставляется один персональный компьютер и предлагается решить 8-12 задач. При подведении итогов учитываются только полностью решенные задачи. Участники в таблице результатов упорядочиваются по убыванию количества решенных задач, а при равном количестве задач - по возрастанию штрафного времени (см.ниже).
Написанные участниками решения сдаются в автоматизированную тестирующую систему. Программа проверяется сразу (или в течение нескольких минут, если сервер перегружен), на заранее подготовленном жюри, одинаковом для всех участников наборе примеров. Если на каждом из примеров решение выдает правильный ответ, задача получает статус ОК (решена верна). При этом к штрафному времени участника добавляется время в минутах от начала турнира. Если на одном из тестов решение не выдает правильный ответ в требуемом формате за указанное время, или программа выдает ошибку во время работы, тестирование решения прекращается (на остальных тестах решение не тестируется). В этом случае к штрафному времени прибавляется 20, а участнику сообщается номер теста, на котором произошла ошибка, и указывается тип ошибки: Неправильный ответ, Превышено максимальное время работы, Ошибка выполнения, Неправильный формат вывода и т.п. Сами тестовые примеры до окончания олимпиады участникам не показываются.
В тестирующую систему сдается исходный текст программы (файл с расширением .pas, .dpr, .c, .cpp и т.п.). Тестирующая система самостоятельно компилирует исходный текст в исполняемый код, при ошибке на этом этапе участнику сообщается, что произошла Ошибка компиляции, а также показывается протокол компиляции с указанием конкретной ошибки. На штрафное время такие попытки не влияют. Также на штрафное время не влияют попытки по данной задаче, сделанные ПОСЛЕ ее успешной сдачи.
Во время турнира участники могут использовать любые письменные материалы (книги, тетради с записями, …), но не могут пользоваться никакими электронными устройствами (мобильными телефонами, калькуляторами, плеерами, флешками итп), а также не имеют право использовать интернет, кроме страницы сдачи решений в тестирующей системе.
Участники могут задавать вопросы по условиям через специальные интерфейс в тестирующей системе. Вопросы должны быть сформулированы так, чтобы на них можно было ответить «да» или «нет». Также участники могут обращаться к членам оргкомитета по вопросам, связанным с функционированием компьютера.
Список языков программирования и сред разработки определяется местными организаторами исходя из конфигурации компьютеров в местах проведения и возможностей тестирующей системы. Как правило, в этот список входят языки паскаль (Delphi), C, C++. Также в этот список при необходимости рекомендуется включить языки java, Visual Basic, python, perl, php.
Во всех задачах требуется написать консольное приложение. Входные данные считываются с клавиатуры, а выходные данные выводятся на экран. Программа должна при всех допустимых входных данных работать не более указанного времени (как правило, 1 сек) и использовать память в размере, не большем 64М (включая память на хранение данных и бинарного кода программы).
Примерная программа проведения турнира (может различаться в разных городах проведения)
- Открытие (регистрация команд, знакомство с правилами олимпиады и особенностями автоматической проверки олимпиадных задач)
- Пробный тур (знакомство с техникой и тестирующей системой — при необходимости)
- Основной тур (продолжительность тура — 3 час, на тур будет предложено 8-12 задач)
- Разбор задач
- Награждение победителей
- Показ тестов и результатов тестирования в тестирующей системе
Правила проведения Турнира Архимеда по программированию на площадке Codeforces.
|