Правила соревнований
Соревнования
проходят на IBM PC совместимых компьютерах в следующей конфигурации: процессор
Intel Pentium-4 и выше, ОЗУ не менее 512 мегабайт, операционная система: Windows версии XP и выше. Все компьютеры подключены к сети
“Microsoft Network”.
Используются
системы программирования Free Pascal 2.0.4, Microsoft Visual C/C++ 6 и .NET, GNU C/C++ MinGW 3.4.2 и Java 6.0. Также будет доступна система Borland
Pascal 7.0, однако жюри не гарантирует, что любая
задача решается с помощью 16-битного компилятора Borland
Pascal. Также по предварительному запросу участника
предоставляется система программирования Borland Delphi 7.0.
Эти системы
будут доступны на каждом компьютере. Категорически запрещается использовать
какие-либо другие программы и библиотеки (за исключением Norton-подобных
оболочек и программ из стандартной поставки Windows),
а также личные дискеты и другие электронные носители информации.
Схема проведения
Каждому
участнику предоставляется один компьютер.
Участникам будет
предложено для решения не менее 5 задач. Продолжительность тура составляет от 4
до 6 часов в зависимости от количества и сложности задач. Жюри имеет право
продлить соревнования в случае каких-либо непредвиденных обстоятельств.
Участникам
запрещается пользоваться любыми материалами в печатном или рукописном виде.
Условия будут сформулированы на русском языке. Запрещается приносить и
использовать любые электронные устройства: калькуляторы, записные книжки,
сотовые телефоны, электронные переводчики, и т. д. Нарушение этого правила
повлечет за собой немедленную дисквалификацию участника.
Во время
соревнований участники решают предложенные задачи. Решением является
программа (файл с исходным текстом), составленная на одном из разрешенных
языков программирования. Программа не должна включать в себя других файлов или
модулей. Участник может решать разные задачи на разных языках программирования.
Проверка
представленных решений производится во время соревнований. Участники посылают
решения в жюри с помощью предоставленного программного обеспечения. Жюри
компилирует полученное решение с помощью пакетных компиляторов FPC.EXE, CL.EXE, G++.EXE, JAVAC.EXE и TPC.EXE, поэтому все опции компиляции,
отличные от умалчиваемых значений, должны быть указаны в исходном файле.
Входные данные
для каждой задачи расположены в одном входном файле, имя которого указано в
тексте задачи. Программа должна формировать выходной файл с заданным именем.
Входные и выходные файлы располагаются в текущей директории. Запрещается
выводить какую-либо информацию на экран.
В решениях задач
запрещено использовать:
Жюри использует
различные методы контроля за соблюдением данных
требований. Участник, намеренно, по решению жюри, нарушившая
эти условия, дисквалифицируется.
Решение
проверяется путем запуска на наборе тестов, который недоступен участникам.
Решение засчитывается в том случае, если оно выдает верные ответы на все тесты.
Тестирование
производится автоматически, поэтому программы должны в точности соблюдать
форматы входных и выходных файлов, описанные в условии каждой задачи. Если не
оговорено отдельно, все входные данные предполагаются корректными и
удовлетворяющими всем ограничениям, указанным в условии.
Для каждой
задачи указывается максимальное время выполнения для одного теста. Если на
одном из тестов программа превысила это время, решение считается неверным.
По мере
готовности участник посылает свои решения в жюри для проверки. После этого
участник может продолжать работу над другими задачами. После того, как жюри
проверит решение (проверка занимает несколько минут), участник получает
сообщение с результатами тестирования. Это сообщение появляется на экране. Если
решение не зачтено, сообщается тип ошибки и номер теста, на котором ошибка
произошла.
Возможные типы ошибок
Все тесты
выполняются в одном и том же порядке с возрастанием сложности. Номер ошибочного
теста, указываем в результатах проверки, есть номер первого теста, не
прошедшего проверку. Например, если жюри сообщило, что “Превышен предел времени
на тесте номер
В этом случае
можно заключить, что алгоритм правильный, но не эффективный. Если жюри
зафиксировало “Нарушение формата вывода на тесте номер
Возможные типы
ошибок:
А. Синтаксическая ошибка в программе.
Б. Неправильное расширение файла с решением, например, cpp
для программы на Паскале.
А. Неправильно указано имя входного и/или выходного файла
Б. Ошибка в программе.
В. Намеренное нарушение правил (в этом случае участник дисквалифицируется).
А. Неэффективное решение.
Б. Ошибка в программе.
4.
Memory Limit
Exceeded (Преывшение предела памяти). Возникает, если программа
превысила установленный в условии предел памяти. Возможные причины:
А. Неэффективное решение.
Б. Ошибка в программе.
А. Ошибка исполнения (Runtime error).
Б. Программа на языке C/C++ не завершается оператором “return
В. Ненулевой код возврата явно указан в программе.
А. Неверный формат вывода.
Б. Выходной файл с правильным именем отсутствует.
А. Неверный алгоритм решения
Б. Небольшое нарушение формата вывода (например, переставлены два похожих
по смыслу числа)
Ошибки имеют
приоритет в соответствии с порядком их перечисления в этом списке. Например,
если возникла ошибка исполнения, то результат работы программы не проверяется.
Во время
соревнований участники могут задавать вопросы по условиям задачи. Вопрос должен
быть составлен в форме, предполагающей ответы “ДА” или “НЕТ”. Участник
заполняет “Лист вопроса” и передает его жюри. Когда жюри ответит на вопрос,
участник получит этот “Лист” с ответом обратно. Если вопрос поставлен
некорректно или ответ прямо следует из условия задачи, жюри отвечает “Без
комментариев”. Если жюри согласно, что в условии присутствует неясность или
ошибка, то всем участникам делается соответствующее объявление.
Подведение итогов.
Выигрывает
участник, правильно решивший наибольшее число задач. В случае равенства числа
решенных задач, выигрывает участник с наименьшим штрафным временем. Штрафное
время – это суммарное время решения задач с добавлением 20 минут за каждое
неверное решение (учитывается только для решенных задач). Каждая попытка сдать
задачу после того, как решение для данной задачи уже было зачтено, не
учитывается при подсчете штрафного времени.
Во время
соревнований участники могут просматривать текущие результаты с помощью экрана monitor программы client.
По традиции
проведения данных соревнований для повышения интереса к церемонии награждения
жюри прекращает обновление текущих результатов за один час до конца
соревнований.
Во время
проведения состязаний участники могут общаться ТОЛЬКО с представителями жюри и
организационного комитета соревнований.
За нарушение
правил проведения соревнований участник может быть дисквалифицирован.
Жюри обладает
исключительным правом определения правильности присланных решений, определения победителей
и дисквалификации участников. Жюри разбирает вопросы, возникающие в результате
непредвиденных событий и обстоятельств. Решения жюри окончательны и обжалованию
не подлежат.
Набор тестов, на
которых жюри проверяет решения, не предоставляется участникам даже после
окончания олимпиады.
Проверяющая система.
Решение
отправляется в жюри со страницы submit программы client. В окне необходимо заполнить поля идентификатора
задачи, расширение и компилятор, а также имя файла. После нажатия на кнопку submit программа client запросит
подтверждение.
Допустимы четыре
расширения в имени исходного файла:
Когда жюри
проверит решение, на вашем экране появится сообщение с результатом проверки.
Печать решений.
Участники могут
печатать свои решения во время соревнований на сетевом принтере. Для печати решения
необходимо запустить программу printsol, набрать имя
входного файла и подтвердить посылку. Каждый участник имеет право напечатать до
20 страниц.
Пробный тур (знакомство с техникой).
Во время
пробного тура участники знакомятся с компьютерами и проверяющим программным
обеспечением. Для решения на пробном туре будут предложены 1-4 простые задачи.
Результаты
пробного тура нигде учитываться не будут, однако нарушение правил на пробном
туре может повлечь дисквалификацию участника на основной тур соревнований.