Workshop

XVII Открытый Кубок имени Е.В. Панкратьева по программированию

Yandex
 

5.1 Участники могут приносить с собой и использовать любые источники информации на бумажном носителе: книги, справочники, листинги программ и пр. Запрещается использование любых электронных средств хранения или передачи информации: портативных компьютеров, калькуляторов, пейджеров, сотовых телефонов.
Каждой команде на время участия в Гран-При предоставляется один компьютер. Установленное на компьютере участников ПО должно обеспечивать возможность связи с сервером Кубка и тестирующей системой, а также возможность локальной разработки и тестирования решений задач как минимум на языках программирования (C/C++ и Java), принятых в Кубке в качеств официальных.
Возможность пользования Интернетом, использования заранее написанного (prewritten) кода, а также возможное ограничение предоставляемых вариантов условий только русскими (или английскими) регулируется правилами сектора (для команд, выступающих в категории ACM и SCHOOL). По умолчанию использование Интернета и prewritten кода разрешено, но для команд, выступающих в категории ACM, не рекомендовано (равно как и использование неанглоязычных условий).

5.1.1 Контроль за соблюдением пункта 5.1 возлагается на координаторов секторов. В случае введения ограничений на prewritten код или язык условий для команд SCHOOL и ACM координатор сектора должен сообщить об этих ограничениях Техническому Координатору.

5.2 Во время каждого Гран-При командам предлагается от 8 до 14 задач. Задачи предлагаются на английском языке для команд первого дивизиона (на некоторых этапах возможно наличие русскоязычных условий), как на русском, так и на английском языках для команд второго дивизиона. Продолжительность тура составляет от 4 до 5 часов (обычно 5). Жюри имеет право продлить соревнования для отдельных команд или секторов в случае каких-либо непредвиденных обстоятельств. При этом командам может быть назначено компенсирующее время.

5.2.1 Во время соревнования команды решают предложенные задачи. Решением является программа (файл с исходным текстом), написанная на одном из поддерживаемых системой языков программирования (полный список поддерживаемых языков находится в разделе "Параметры системы"). Команда может решать задачи на различных языках программирования.

5.2.2 Если явно не оговорено в условии задачи, входные данные не содержат "висячих" пробелов на концах строк, символов с кодами, меньшими 32 или большими 127 (кроме символа перевода строки, имеющих код 10), строк, не завершающихся переводом строки, а также лишних переводов строки в конце файла.

5.2.3 Несоблюдение правила 5.2.2 считается ошибкой в задаче и является достаточным поводом для апелляции и последующего пересуживания задачи на исправленных тестах.

5.2.4 За все время соревнования команда может послать не более 200 решений всех задач, суммарным размером не более 2 мебибайт. Команда, превысившая какое-либо из этих ограничений, теряет возможность посылать решения. Размер исходного текста одной программы с решением не может превышать 64 кибибайт.

5.3.Во время проведения соревнования взаимодействие команд и Жюри осуществляется с помощью одной из систем проведения соревнований: ejudge или Яндекс.Контест. В порядке исключения возможно проведение некоторых раундов (в том числе и начиная с некоторого момента, вызванного неполадками) только на одной из этих систем.

5.3.1 Команда может обратиться к Жюри с вопросом по условию какой-либо задачи. Вопрос должен быть сформулирован на русском или английском языке и предполагать ответ "Да" или "Нет". Жюри может ответить на поставленный вопрос "Да", "Нет", "См. Условие", если считает, что ответ на поставленный вопрос содержится в условии задачи, и "Без комментариев". Жюри может разослать ответ на поставленный командой вопрос всем участникам соревнования. За всё время соревнования команда может отослать 50 вопросов общим размером не более 40 Кб. Команда, превысившая какое-либо из этих ограничений, теряет возможность задавать вопросы Жюри. Размер одного вопроса не может превышать 1 Кб. Аналогичным способом команда может отправить претензию по задаче (указать на ошибку в условии, высказать аргументированное предположение, что некоторые тесты не соответствуют условию задачи и т.д.).

5.3.2 Во время Гран-При команда может распечатать любое из посланных ею на проверку решений на принтере. Необходимые средства для печати программ предоставляются в секторах.

5.4 Проверка представленных решений проводится во время соревнований. Участники посылают решения в проверяющую систему eJudge или Яндекс.Контест с помощью предоставленного программного обеспечения. При посылке решения участник выбирает компилятор, который будет использован Жюри для компиляции решений. Актуальная информация о компиляторах и их настройках, а также о конфигурации проверяющих серверов, размещена в разделе "Параметры сервера" сайта Открытого Кубка.

5.4.1 По мере готовности участник посылает свои решения в Жюри для проверки. После этого участник может продолжать работу над другими задачами. Результаты проверки посланного решения будут доступны участнику немедленно по завершении проверки. По завершении проверки участнику сообщается, зачтено решение или нет. Если решение не зачтено, сообщается тип ошибки и номер первого теста, на котором произошла ошибка.
5.4.2 Решения участников запускаются под OS Linux. Решение проверяется путём запуска на наборе тестов, который недоступен участникам и является одинаковым для всех участников. Решение засчитывается в том случае, если оно выдаёт верные ответы на все тесты. Тестирование производится автоматически, поэтому программы должны в точности соблюдать форматы входных и выходных файлов, описанные в условии каждой задачи. Если не оговорено отдельно, все входные данные предполагаются корректными и удовлетворяющими всем ограничениям, указанным в условии задачи.

5.4.3 В условии каждой задачи указывается максимальное время выполнения для одного теста. Если на одном из тестов программа превысила это время, решение считается неверным.

СообщениеНомер теста сообщается?Когда возникаетВозможная причина
OKнетрешение зачтеноПрограмма на соответствующем наборе тестов работает верно
Compilation error нет компиляция программы завершилась с ошибкой 1. в программе допущена синтаксическая или семантическая ошибка
2. неправильно указан язык
Wrong answer да ответ не верен 1. ошибка в программе
2. неверный алгоритм
Presentation error да программа проверки не может проверить
выходные данные, так как их формат
не соответствует описанному
1. неверный формат вывода
2. программа не печатает результат
3. лишний вывод
Time-limit exceeded да программа превысила установленный
в условии лимит времени
1. ошибка в программе
2. неэффективное решение
Memory limit exceeded да программа превысила установленный
в условии лимит памяти
1. ошибка в программе (напр., бесконечная рекурсия)
2. неэффективное решение
Run-time error да программа завершила работу с ненулевым
кодом возврата
1. ошибка выполнения
2. программа на языке C/C++ не завершается оператором return 0
3. ненулевой код возврата указан явно

При возникновении ошибки Compilation error программа не запускается ни на одном тесте. При возникновении ошибок Run-time error, Memory limit exceeded, Time-limit exceeded вывод программы не проверяется.

5.4.4 Посылки одного и того же участника с идентичным исходным текстом, сделанные подряд, игнорируются. Если посылка была признана неправильной по причине ошибки компиляции, такая посылка не учитывается при последующем вычислении штрафа за успешно сданные задачи.

5.4.5 Первыми тестами в наборе тестов всегда являются тесты из условия задачи. Тесты идут в том же порядке, в котором они приведены в условии задачи.

5.5 Участники ранжируются по количеству сданных задач. Участники, сдавшие одинаковое количество задач, ранжируются по суммарному времени решения.

5.5.1 Суммарное время решения определяется как сумма округлённых с точностью до секунды времён решения для каждой принятой задачи. Время решения задачи определяется как время в секундах от начала соревнования до момента посылки решения, признанного правильным, плюс 20 штрафных минут за каждое забракованное решение. Задачи, не признанные решёнными к моменту окончания соревнования, никакого вклада в суммарное время не дают (в том числе, и в виде штрафов за забракованные решения).

5.5.2 В таблице текущих результатов принятые задачи обозначены знаком "+", после которого следует количество забракованных решений этой задачи (если таковые имеются). Например, если задача сдана с третьей попытки, то в таблице будет стоять "+2", если сразу - то "+". Задачи, отправленнные в систему и не принятые, обозначаются знаком "-", после которого следует количество попыток по данной задаче.

5.5.3 За 1 час до конца соревнований изменения в таблицу результатов перестают вноситься, при этом вердикты проверяющей системы по-прежнему приходят каждой команде.

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