Командный студенческий Чемпионат Урала по программированию 2004
Версия для печати

Правила соревнований

Требования, предъявляемые к командам:

  • Команда может иметь тренера или руководителя. Тренер/руководитель является официальным представителем команды.
  • Каждая команда должна состоять из трех студентов, участвовавших в финалах АСМ-соревнований не более одного раза и удовлетворять хотя бы одному из следующих двух условий:
    1. Все студенты не старше 4-го курса и каждый из них участвовал не более трех раз в соревнованиях АСМ (Комментарий. Соревнования одного и того же сезона считаются за одно соревнование)
    2. Один из членов команды может быть студентом 5-го курса, если обучение 6-ти летнее (магистратура), два других не старше 3-го курса. (Комментарий. В этом случае ограничений на количество участий нет, кроме ограничений по числу участий в финале)
  • Ни один участник не может иметь полное высшее образование (степень старше бакалавра).
  • Каждая команда должна быть полностью зарегистрирована на сайте чемпионата (Внимание! Дата окончания регистрации - 1 апреля 2004 года).

Программное и аппаратное обеспечение соревнования:

  • Для участия в соревновании каждой команде будет предоставлен один компьютер.
  • Используются следующие системы программирования:
    • Borland Delphi 6.0
    • Microsoft Visual C/C++ 6.0
  • Каждая предложенная задача будет иметь решение на любом из указанных языков программирования.

Условия проведения соревнования:

  • Во время проведения соревнования участники могут использовать только словари (кроме электронных), чистые листы бумаги, пишушие инструменты и предоставленный компьютер.
  • Участникам запрещается приносить и использовать любые книги (кроме словарей), документацию, электронные словари, листинги программ, программное обеспечение на любых видах носителей, вычислительные устройства (ноутбуки, калькуляторы), мобильные телефоны и любые коммуникационные устройства.
  • Во время проведения соревнования участники могут общаться только с членами своей команды, Жюри и членами технического комитета.
  • Соревнование проводится в два дня (два тура). Каждый тур длится пять часов. По решению Жюри тур может быть продлен.
  • На каждом туре будет предложено от шести до девяти задач.
  • Входные данные для каждой задачи расположены во входном файле, имя которого задано в тексте задачи. Программа должна формировать выходной файл с заданным в тексте задачи именем. Входной и выходной файлы должны располагаться в текущем каталоге, поэтому имена открываемых файлов не должны содержать путей к ним.
  • Во время соревнования команды решают предложенные задачи. Решением является программа (файл с исходным текстом), написанная на одном из предложенных языков программирования. Команда может решать разные задачи на разных языках программирования.
  • Решения посылаются на проверку Жюри используя программное обеспечение соревнования.
  • В исходных текстах решений, переданных Жюри для проверки, запрещено:
    • Использовать сетевые средства.
    • Работать с какими-либо файлами, кроме указанных в условии задачи.
    • Атаковать систему безопасности.
    • Запускать другие программы.
    • Изменять разрешения на файлы.
    • Выполнять консольный ввод/вывод.
  • Команда, не выполнившая эти требования, дисквалифицируется.
  • Во время проведения соревнований участники могут задавать вопросы по условиям задач. Вопрос должен быть составлен в форме, предполагающей ответы "ДА" или "НЕТ". Если вопрос составлен некорректно или ответ следует прямо из условий задач, Жюри отвечает "БЕЗ КОММЕНТАРИЕВ". Если Жюри согласно, что в условии задачи присутствует неясность или ошибка, то всем участникам соревнований дается соответствующее объявление. Передача вопросов в Жюри и получение ответов производится с помощью специального программного обеспечения.

Оценка решений:

  • Каждое решение, отосланное на проверку Жюри, может быть принято или нет.
  • Решение проверяется путем запуска на наборе тестов, который недоступен участникам и является одинаковым для всех команд. Решение засчитывается в том случае, если оно выдает верные ответы на все тесты.
  • Тестирование производится автоматически, поэтому программы должны в точности соблюдать форматы входных и выходных файлов, описанные в условии задачи. Если не оговорено отдельно, все входные данные предполагаются корректными и удовлетворяющими всем ограничениям, указанным в условии.
  • Для каждой задачи будет установлено максимальное время выполнения программы на каждом тесте. Решение не защитывается, если программа не укладывается в указанный лимит времени.
  • Когда Жюри проверит решение, команда получает сообщение с результатами тестирования. Команде сообщается, зачтено решение или нет. Если решение не зачтено, сообщается тип ошибки и номер теста, на котором произошла ошибка.
    тип ошибки номер теста, на котором произошла ошибка когда возникает возможная причина
    Compilation error не сообщается в результате компиляции не создан исполняемый файл синтаксическая ошибка в программе, неправильное расширение файла
    Time limit exceeded сообщается программа превысила установленный в условии предел времени неэффективное решение, ошибка в программе
    Runtime error сообщается программа завершила работу с ненулевым кодом возврата. В этом случае результат работы не проверяется ошибка исполнения (runtime error): программа на языке С не завершается оператором return 0: ненулевой код возврата явно указан в программе
    Presentation error сообщается программа проверки не может проверить выходные данные, поскольку их формат не соответствует описанному неверный формат вывода, выходной файл имеет неправильное имя или отсутствует
    Wrong answer сообщается ответ неверен неверный алгоритм решения
    Accepted не сообщается решение засчитано алгоритм верный
  • Тесты выполняются в порядке возрастанием их сложности (по мнению Жюри). Номер ошибочного теста, указываемый в результатах проверки, есть номер первого теста, не прошедшего проверку. Например, если Жюри сообщило, что “Time limit exceeded on test № 9”, это означает, что:
    • тесты с 1 по 8 прошли проверку;
    • на более сложном, чем предыдущие восемь, девятом тесте программа превысила предел времени.
    В этом случае можно заключить, что алгоритм правильный, но неэффективный.
  • Жюри может прекратить проверку решений за 5 минут до конца тура. Все решения, посланные на проверку после этого момента, будут протестированы Жюри после окончания соревнования.
  • Набор тестов, на которых Жюри проверяет решения, не предоставляется участникам даже после окончания соревнований.

Подведение итогов:

  • Жюри обладает исключительным правом определения правильности присланных решений, определения победителей и дисквалификации команд. Директор соревнований и Жюри разбирает вопросы, возникшие в результате непредвиденных событий и обстоятельств. Решения Жюри окончательны и обжалованию не подлежат.
  • При подведении итогов тура используются следующие правила. Выигрывает команда, правильно решившая наибольшее число задач. В случае равенства числа решенных задач выигрывает команда с наименьшим суммарным временем решения задач. Временем решения задачи считается время получения Жюри для тестирования правильного решения задачи. Отсылка Жюри для тестирования неверного решения добавляет 20 минут штрафного времени за каждую посылку. В суммарном времени учитывается штрафное время только для правильно решенных задач.
  • Во время соревнований команды могут смотреть текущую таблицу результатов. За час до окончания соревнования таблица результатов замораживается.
  • Соревнование проводятся в два тура, результаты которых суммируются.

Пробный тур:

  • На пробном туре команды могут ознакомиться с программным обеспечением соревнования решив несколько специально предложенных простых задач (1-2 задачи).
  • Результаты пробного тура не учитываются при подведении итогов соревнования.
  • Жюри может дисквалифицировать с сосревнования команды, нарушившие правила соревнований на пробном туре.