Правила
Турнир Архимеда по программированию — очная командная олимпиада по информатике.
Пробный тур
Перед основным туром как правило проводится пробный тур, на котором участникам предлагаются 1-2 задачи для знакомства с рабочим местом и тестирующей системой. Продолжительность тура определяется местными организаторами. Результаты пробного тура никак не учитываются при подведении итогов турнира. Во время пробного тура допускается присутствие руководителей команд и их общение со школьниками.
Основной тур
Продолжительность основного тура — 3 часа. На олимпиаде команде из трёх человек предоставляется один персональный компьютер и предлагается решить 8-12 задач.
Подведение итогов
При подведении итогов учитываются только полностью решенные задачи. Участники в таблице результатов упорядочиваются по убыванию количества решенных задач.
Проверка решений
Написанные участниками решения сдаются в автоматизированную тестирующую систему. Программа проверяется в течение нескольких минут на заранее подготовленном жюри, одинаковом для всех участников наборе примеров. Если на каждом из примеров решение выдает правильный ответ, задача получает статус «ОК» (решена верно). Если на одном из тестов решение не выдает правильный ответ в требуемом формате за указанное время, или программа выдает ошибку во время работы, решение считается неверным, и тестирование решения прекращается. На остальных тестах решение не проверяется, а участнику сообщается номер теста, на котором произошла ошибка и ее тип: «Неправильный ответ», «Превышено максимальное время работы», «Ошибка выполнения», «Неправильный формат вывода» и т. п. Сами тестовые примеры до окончания олимпиады участникам не показываются.
Тестирующая система
Во всех задачах требуется написать консольное приложение. Входные данные считываются с клавиатуры, а выходные данные выводятся на экран. Программа должна при всех допустимых входных данных работать не более указанного времени (как правило, 1 сек) и использовать память в размере, не большем 64М (включая память на хранение данных и бинарного кода программы). В тестирующую систему сдается исходный текст программы — файл с расширением .py, .c, .cpp, .pas, .dpr и другими. Тестирующая система при необходимости самостоятельно компилирует исходный текст в исполняемый код, при ошибке на этом этапе участнику сообщается, что произошла Ошибка компиляции, а также показывается протокол компиляции с указанием конкретной ошибки. На штрафное время такие попытки не влияют. Также на штрафное время не влияют попытки по данной задаче, сделанные ПОСЛЕ ее успешной сдачи.
Использование материалов
Во время турнира участники могут использовать любые письменные материалы (книги, тетради с записями, …), но не могут пользоваться никакими электронными устройствами (мобильными телефонами, калькуляторами, плеерами, флешками, …), а также не имеют право использовать интернет, кроме страницы сдачи решений в тестирующей системе.
Вопросы
Участники могут задавать вопросы по условиям задач через соответствующий интерфейс тестирующей системы.
Языки программирования
Список языков программирования и сред разработки определяется местными организаторами исходя из конфигурации компьютеров в местах проведения и возможностей тестирующей системы. Как правило, в этот список входят языки Python, Pascal (Delphi), C, C++. Также в этот список при необходимости рекомендуется включить языки java, perl, php.