Положение о четвертьфинальных соревнованиях студенческого чемпионата мира по программированию

1. Цели и задачи

1.1 Основными целями проведения четвертьфинальных соревнований являются апробация учебно-методического и программного обеспечения для реализации соревновательного подхода к обучению студентов в рамках студенческого чемпионата мира по программированию; повышение качества подготовки специалистов в области информационных технологий, развитие знаний и умений студентов вузов по ключевым направлениям профессиональной деятельности, выявление интереса к научно-исследовательской деятельности; отбор студенческих команд для участия в полуфинальных соревнованиях.

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

1.3 Чемпионат проходит в несколько этапов. В чемпионате участвуют команды студентов высших учебных заведений. На первом этапе команды участвуют в четвертьфинальных соревнованиях. В них участвуют команды вузов Сибирского и Дальневосточного подрегионов Северо-Восточного Европейского региона студенческого чемпионата мира по программированию. Лучшие команды четвертьфинальных соревнований участвуют в полуфинальных соревнованиях.

1.4 Четвертьфинальные соревнования среди команд вузов проводятся по регионам. Особенности каждого четвертьфинала указываются в приложении к настоящему положению.

1.5 Официальным языком четвертьфинальных соревнований является русский. Все печатные материалы представляются на русском языке. Все устные объявления делаются на русском языке.

1.6 Соревнование проводится по правилам студенческого чемпионата мира по программированию ACM ICPC (Association for Computing Machinery, International Collegiate Programming Contest, ACM ICPC).

1.7 Четвертьфинальные соревнования могут проводиться как очно, так и дистанционно. При дистанционном проведении четвертьфинала участники могут работать на рабочих местах в собственном вузе или по территориальной близости собираться в одном вузе. В этом случае за соблюдение правил соревнований отвечают тренеры команд вуза, где находится рабочее место команды.

1.8 В четвертьфинальных соревнованиях допустимо участие команд вне конкурса (это могут быть, например, участники, не проходящие по правилам участия по возрасту, курсу и т.д. в полуфинале). Такие участники при регистрации должны сообщить о своем желании участвовать вне конкурса. Статус «вне конкурса» может быть присвоен команде оргкомитетом, если команда не соответствует правилам участия (п.2. настоящих правил). Число внеконкурсных участников может быть ограничено техническими возможностями организаторов, поэтому заявка на участие вне конкурса может быть отклонена директором соревнований без дополнительного объяснения причин.

2. Участники

2.1 К участию в Четвертьфинальных соревнованиях допускаются команды из трех студентов или аспирантов одного учреждения высшего образования. Каждый член команды должен удовлетворять требованиям правил студенческого чемпионата мира:

2.2 Директорат Полуфинальных соревнований имеет право устанавливать дополнительные требования к участникам Полуфинальных соревнований.

2.3 Все команды должны быть полностью зарегистрированы в системе регистрации Чемпионата на официальном сайте чемпионата. Команды, не прошедшие регистрацию, автоматически переводятся в состояние «вне конкурса».

2.4 В случае отсутствия организационных или технических возможностей для обеспечения участия всех заявленных команд в Четвертьфинальных соревнованиях, решением директора Четвертьфинальных соревнований по согласованию с Директоратом Полуфинальных соревнований могут быть установлены дополнительные правила (квоты) отбора участников. При этом квоты четвертьфинальных соревнований для каждого вуза не могут быть меньше квот этого вуза в полуфинальных соревнованиях.

3. Порядок организации и проведения соревнований

3.1 Для проведения четвертьфинальных соревнований вузом-организатором создается оргкомитет и назначается директор соревнований.

3.2 Оргкомитет четвертьфинальных соревнований:

3.3 Методическая комиссия четвертьфинальных соревнований:

3.4 Технический комитет четвертьфинальных соревнований:

3.5 Жюри четвертьфинальных соревнований:

3.6 Директор четвертьфинальных соревнований

3.7 Соревнования проходят в несколько дней и состоят из пробного и основного тура. Пробный тур проводится для ознакомления участников с системой тестирования и рабочими местами. День проведения пробного тура не должен совпадать с днем основного тура. Время пробного тура не должно быть менее 1 часа. При дистанционном проведении соревнований время пробного тура может быть не ограничено сверху.

3.8 Основной тур соревнований длится пять часов. Тур может быть продлен по решению директора соревнований в случае непредвиденных обстоятельств. Если продолжительность тура будет изменена, жюри и технический комитет должны приложить все усилия, чтобы известить об этом участников своевременно и одновременно.

3.9 Для решения на основном туре должно быть предложено от шести до двенадцати задач. Настолько, насколько это возможно, задачи не должны опираться на знание конкретных предметных областей и языков программирования.

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

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

3.12 Решения участников проверяются на заранее подготовленном методической комиссией наборе тестов. Решение принимается, если оно прошло все тесты. Частичные решения (прошедшие не все тесты) считаются неверными.

3.13 Время тестирования решения, а также доступная память на каждом тесте ограничены. Решения, превысившие установленное ограничение, считаются неэффективными для данной задачи. В этом случае тест считается не пройденным, а решение, как следствие, неверным. Ограничения на время работы и объём памяти для программы на одном тесте указываются в формулировках задач.

3.14 Решение должно выдавать одинаковые ответы на одинаковые тесты, независимо от времени запуска и программного окружения. При проверке задачи может быть проведено неограниченное количество повторных тестирований программы участника и может быть выбран наихудший результат по каждому из тестов.

3.15 Во время тура участники могут общаться только с членами своей команды, представителями жюри и технического комитета.

3.16 Участники не должны использовать при написании программ никакие заготовки, сделанные не во время тура, т.е. все тексты программ, отправляемые на проверку, должны быть набраны во время соревнований. В случае дистанционного проведения соревнований контроль за исполнением этого пункта правил возлагается на тренера команды.

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

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

4. Аппаратное и программное обеспечение

4.1 Команде предоставляется один компьютер класса не ниже Pentium IV c частотой 2ГГц с установленной операционной системой Windows XP или более новой. Компьютер должен быть подключен к сети для доступа к серверу соревнований. Оперативная память компьютера не менее 1Гб. При очном проведении соревнований компьютеры участников должны быть, по возможности, однотипными. В том случае, если рабочие места существенно отличаются, размещение команд проводится жеребьевкой.

4.2 На компьютере участников должно быть установлено следующее программное обеспечение:

Среды программирования и другое программное обеспечение не регламентируются, однако при очном проведении соревнований на всех компьютерах должно быть установлено одно и то же программное обеспечение.

4.3 Участники соревнований могут представлять решения на одном из следующих языков программирования:

Используются следующие системы программирования:

Используемые тестирующей системой командные строки для компиляции решения показаны в web-интерфейсе системы.

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

5. Проверка решений

5.1 Решение проверяется на секретном наборе тестов, одинаковом для всех участников. Решение считается верным, если оно дает правильные ответы на все тесты.

5.2 Решения участников не должны:

5.3 Система проведения соревнований и технический комитет могут использовать любые средства для обнаружения нарушений правил соревнований. В случае обнаружения таких нарушений технический комитет предоставляет необходимую информацию директору соревнований, который выносит на обсуждение жюри вопрос о дисквалификации команды-нарушителя.

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

5.5 По окончании проверки решения тестирующей системой команде приходит ее результат. В нем указывается, было ли признано решение верным, и если нет, то тип ошибки и номер теста, на котором она произошла.

5.6 Тесты нумеруются с единицы. Первые несколько тестов должны соответствовать примерам из условия задачи. Эти тесты идут в том же порядке, что и примеры в условии. Остальные тесты чаще всего отсортированы таким образом, чтобы простые тесты шли раньше сложных, однако соблюдения этого принципа не гарантированно.

5.7 Возможные ошибки, выдаваемые системой проверки решения, перечислены в следующей таблице:

Таблица 5.1 Классификация ошибок

Тип ошибки Когда возникает Возможная причина
1. Ошибка компиляции В результате компиляции не создан исполняемый файл Синтаксическая ошибка в программе
2. Превышение лимита времени на тесте <N> Программа превысила заданный жюри предел времени для задачи
  1. Неэффективное решение
  2. Алгоритмическая ошибка в программе
3. Превышение ограничений по памяти на тесте <N> Программа превысила заданное жюри ограничение памяти для задачи
  1. Неэффективное решение
  2. Алгоритмическая ошибка в программе
4. Ошибка выполнения на тесте <N>

Программа завершила работу с ненулевым кодом возврата.

В этом случае результат работы не проверяется

  1. Ошибка исполнения
  2. Программа на C++ не завершается оператором “return 0”
  3. Ненулевой код возврата указан явно в программе
5. Неправильный ответ на тесте <N> Результат работы программы не совпадает с ответом жюри
  1. Неверный формат вывода
  2. Алгоритмическая ошибка в программе

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

5.8 Жюри публикует официальные тесты, использовавшиеся при проверке решений участников, после окончания основного тура, до начала апелляций.

5.9 Во время соревнований команды могут задавать вопросы жюри, как по условиям задач, так и по правилам проведения соревнований. Вопрос по условию задачи должен быть составлен в форме, предполагающей ответ «да» или «нет». Если вопрос поставлен некорректно или ответ следует из условия задачи, жюри отвечает “Без комментариев”. Если жюри согласно, что в условии присутствует неясность или ошибка, то всем командам рассылается соответствующее сообщение.

5.10 Система оценок и таблица результатов

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

6. Апелляции

6.1 Правильность решений участников определяет исключительно жюри.

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

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

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

6.5 Апелляции, связанные с техническими проблемами во время основного тура (особенно при дистанционной форме проведения соревнований) принимаются только в том случае, если об этих проблемах был поставлен в известность технический комитет во время самого тура (или, при проблемах со связью, сразу после их решения).

6.6 Порядок и срок подачи апелляций определяется ежегодно и указывается на сайте соревнований, однако он не может быть меньше суток с момента окончания соревнований. Апелляции от имени участников могут подаваться только тренером команды или уполномоченным им членом команды.

6.7 Если по результатам апелляции изменятся результаты соревнований, то набор команд, отправляемый на следующий этап Чемпионата, также может измениться. Окончательная таблица результатов формируется после окончания срока апелляций.