Правила соревнований
Памятка участника соревнования
Памятка участника соревнования
1 Правила соревнования
1.1 Общая информация
Это соревнование проводится по правилам ACM ICPC
(ACM International Collegiate Programming Contest).
Продолжительность соревнований составляет 5 часов.
Жюри имеет право продлить соревнование в случае возникновения непредвиденных обстоятельств.
Участникам будет предложено для решения от 6 до 13 задач. Все задачи сформулированы
на русском языке. Для решения задач не требуются какие-либо глубокие знания в конкретной
прикладной области или совершенное владение одним из языков программирования.
Каждая задача предполагает ввод исходных данных из файла INPUT.TXT и вывод
результата в выходной файл OUTPUT.TXT. Входной и выходной файлы располагаются в
текущей директории.
В течение соревнования участники решают предложенные задачи. Решением является
исходный код на одном из доступных языков программирования, при этом различные
задачи могут решаться на разных языках программирования.
Решения посылаются на проверку в течении соревнования с помощью специального
программного обеспечения. После отправки на проверку одного из решений участники
могут продолжать работать над другими задачами. Решения проверяются прямо во время
соревнования. Как только проверка очередного решения завершается, участник тут же
уведомляется о её результате. Если решение не принято, участник может попытаться
исправить свою программу и послать её на проверку ещё раз.
1.2 Проверка решений
Каждое решение, отосланное Жюри на проверку, проверяется путем запуска на
секретном наборе тестов, одинаковом для всех участников. Задача считается
решённой только в том случае, если решение выдаёт верные ответы на все
тесты из набора Жюри.
Тестирование производится автоматически, поэтому программы должны в точности
соблюдать форматы входных и выходных файлов, описанные в условии задачи.
Для каждой задачи будет установлено максимальное время выполнения
программы на каждом тесте и максимальное количество используемой программой памяти.
Решение не засчитывается, если программа не
укладывается в указанные лимиты времени и памяти.
После каждой проверки решения Жюри отправляет участнику, предоставившему
решение, сообщение с результатами тестирования. Участнику сообщается, зачтено
решение или нет. Если решение не зачтено, сообщается тип ошибки и номер теста,
на котором произошла ошибка.
В ответ на посланное решение, участник получает один из следующих ответов от
проверяющей системы:
- Ошибка компиляции. (Compilation error)
Жюри не удалось провести компиляцию вашей программы.
- Превышен лимит времени. (Time limit exceeded)
Время работы программы превышает максимально допустимое для данной
задачи (указано в условии) либо программа требует ввода
данных с клавиатуры.
- Превышен лимит памяти. (Memory limit exceeded)
Объём используемой программой памяти превышает максимально допустимый для данной
задачи (указано в условии).
- Аварийное завершение программы. (Runtime error)
Программа аварийно завершилась, либо код возврата не нулевой.
Чтобы код возврата был нулевой, используйте "return 0;" в С и С++
программах и не используйте "halt(n)" в PAS программах, где n отлично от нуля.
- Неверный формат вывода. (Presentation error)
Выходной файл программы не был создан в результате её выполнения,
либо программа осуществляет вывод данных на экран.
- Неверный ответ. (Wrong answer)
Содержимое выходного файла вашей программы не является корректным
ответом для предложенного входного файла.
- Зачтено. (Accepted)
Задача засчитана. Переходите к решению других задач.
Номер ошибочного теста, указываемый в результатах проверки, есть номер
первого теста, не прошедшего проверку. Например, если Жюри сообщило,
что "Time limit exceeded. Test № 29", это означает, что тесты с 1 по 28 прошли
проверку, а на двадцать девятом тесте (возможно, более сложном, чем предыдущие двадцать восемь) программа
превысила предел времени.
В этом случае можно заключить, что алгоритм правильный, но неэффективный.
Жюри может прекратить информирование команд о результатах проверки решений
за несколько минут до конца соревнования, если возникнет ситуация перегрузки
проверяющей системы. Тем не менее, все решения, посланные на проверку до
завершения соревнования, будут протестированы Жюри после окончания
соревнования и учтены в финальном протоколе.
Набор тестов, на которых Жюри проверяет решения, не предоставляется
участникам даже после окончания соревнований.
1.3 Подведение итогов
Жюри обладает исключительным правом определения правильности присланных
решений, определения победителей и дисквалификации команд. Директор
соревнований и Жюри разбирают вопросы, возникшие в результате непредвиденных
событий и обстоятельств. Решения Жюри окончательны и обжалованию не подлежат.
При подведении итогов соревнования используются следующие правила.
Выигрывает команда, решившая наибольшее число задач. В случае равенства
числа решённых задач выигрывает команда с наименьшим суммарным временем
решения задач. Временем решения задачи считается время получения Жюри для
тестирования правильного решения задачи. Отправка
неверного решения на проверку Жюри добавляет 20 минут штрафного времени за
каждую попытку. В суммарном времени учитывается штрафное время только для
правильно решённых задач.
2 Программное обеспечение соревнования
2.1 Вход в систему
При регистрации каждая команда получает информацию о том, в какой аудитории и на
каком компьютере она будет работать во время соревнования.
При регистрации или непосредственно перед началом соревнования каждая команда
получает свой уникальный логин и пароль.
Эти параметры необходимы для входа в университетскую сеть в режиме проведения
соревнований.
В случае если всё указано правильно, но входа в систему не происходит, следует
вызвать представителя оргкомитета.
2.2 Сетевые диски проверяющей системы
После входа в систему становятся доступными следующие сетевые диски:
X: - диск, общий для всех команд, доступный только для чтения, на котором
расположены программы для взаимодействия с проверяющей системой. Здесь же могут
находиться файлы с описанием ограничений на время работы решений (timelim.txt),
с пояснениями к задачам, сделанными во время соревнования (clarif.txt), примеры
правильной организации ввода/вывода в решениях (IOSamples) и т.п.
R: - диск, доступный только для чтения, с информацией, относящейся к конкретной
команде. Именно на этом диске появляются подтверждения о том, что решение
проверено. Здесь же остаются файлы с ответами жюри на заданные командой вопросы.
W: - диск, доступный только на запись. Используется проверяющей системой и не
должен непосредственно использоваться участниками. За попытки
несанкционированного использования этого диска команда может быть
дисквалифицирована.
2.3 Программы проверяющей системы
Всем участникам во время соревнований доступны следующие программы,
располагающиеся на сетевом диске X:
runMonitor.bat - файл запуска HTML-версии монитора. За час до окончания
соревнования результаты, доступные участникам, замораживаются, чтобы сохранить
интригу до церемонии награждения.
runClient.bat - файл запуска графического интерфейса для передачи решений на
проверку Жюри, для передачи вопроса Жюри, для передачи файлов на печать
(во время пробного тура печать производиться не будет; во время основного тура
количество распечаток от одной команды ограничено).
2.4 Решения
Решением является программа (файл с исходным текстом), составленная на одном
из предложенных языков программирования.
На соревнованиях будут предложены следующие среды программирования:
- Microsoft Visual Studio .Net 2003;
- Borland Delphi v7.0 или v6.0;
- JDK 1.5/Eclipse 3.2;
Также будут поддерживатся языки Borland C++ 3.1 и Borland Pascal 7.0,
однако Жюри не гарантирует, что все задачи будут иметь решение на этих языках.
Набор библиотек и модулей, доступных участникам во время соревнования,
ограничен (доступны основные библиотеки/модули для выполнения операций
с файлами, со строками, математических операций). Во время пробного тура
команды должны убедиться в доступности необходимых им библиотек.
До начала основного тура команда может обратиться к Жюри с просьбой расширения
доступного набора библиотек и модулей.
Размер файла с исходным текстом решения не должен превышать 64Кб.
2.5 Правила, которые следует соблюдать
Участники могут приносить с собой и использовать ТОЛЬКО чистые листы бумаги
и инструменты для письма. Запрещается приносить и использовать книги, справочники,
руководства, электронные словари, листинги программ и т.д.
Также запрещается приносить и использовать информацию в электронном виде,
личные компьютеры, калькуляторы, мобильные телефоны и прочие
телекоммуникационные устройства.
В решениях задач запрещено:
- любое использование сетевых средств;
- создание и работа с любыми файлами, за исключением файлов INPUT.TXT
(из которого программа читает входные данные) и OUTPUT.TXT
(в который программа должна выдавать ответ).
- любые попытки намеренно вывести из строя систему проведения
соревнований;
- выполнение внешних программ и создание новых процессов;
- изменение прав доступа файловой системы;
- работа с директориями;
- любой ввод с клавиатуры и вывод на экран;
- создавать и работать с любыми GUI-элементами (окнами, диалогами и т.д.);
- работать с внешними устройствами (принтером, звуковой картой и т.д.);
- доступ и модификация любых зарезервированных или системных областей
памяти, таких как, например, таблица прерываний и т.п.;
- любые другие действия, которые могут нарушить работу программного
обеспечения соревнования;
- нарушение любых законов РФ (будет караться соответствующими органами).
Нарушители данных правил могут быть дисквалифицированы по решению Жюри.