Вузовско-академическая олимпиада по информатике 2014
Версия для печати

Правила олимпиады

Оргкомитет олимпиады

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

Проведение олимпиады

Каждый участник получает в свое распоряжение один IBM PC совместимый компьютер конфигурации не хуже Intel Pentium D с 1024 МБ ОЗУ, работающий под управлением операционной системы Windows. В случае непредвиденных обстоятельств, таких как неисправность локальной сети или отсутствие электропитания в компьютерном классе, участникам могут быть предоставлены компьютеры более слабой конфигурации.

Олимпиада состоит из пробного тура и основного тура.

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

Основной тур длится 5 часов. Жюри имеет право продлить тур в случае непредвиденных обстоятельств. Во время основного тура участникам предлагается для решения от 6 до 10 задач на русском языке. Жюри принимает решения на языках программирования C++, С#, Pascal и Java. Отправка решений осуществляется во время тура с помощью программного обеспечения олимпиады. Через некоторое время после отправки участнику становится доступен результат проверки. После окончания тура решения не принимаются.

Во время основного тура участники могут общаться только с членами технического комитета. Участник не должен создавать излишнего шума, чтобы не мешать другим участникам. Участник может обратиться к жюри с вопросом по условию какой-либо задачи. Вопрос должен быть сформулирован на русском языке и предполагать ответ «Да» или «Нет». Вопрос задаётся с помощью программного обеспечения олимпиады. Жюри может ответить на поставленный вопрос «Да», «Нет», «Смотри условие задачи» или «Без комментариев». Жюри может разослать ответ на поставленный участником вопрос всем участникам олимпиады.

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

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

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

Входные данные подаются программе в стандартном потоке ввода. Программа должна выводить ответ в стандартный поток вывода.

В решениях задач запрещается:

  • работа с любыми файлами;
  • выполнение внешних программ и создание новых процессов;
  • работа с GUI-элементами (окнами, диалогами и т.д.);
  • работа с внешними устройствами (принтером, звуковой картой и т.д.);
  • использование сетевых средств.

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

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

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

После отправки очередной задачи на проверку участник получает ответ с результатами её тестирования. Участник может посылать задачу на проверку такое количество раз, какое считает нужным (если только многократные посылки задачи на проверку не нарушают стабильной работы проверяющей системы — см. выше).

Определение победителя

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

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

Количество баллов, полученных участником за задачу, вычисляется как максимальное количество баллов, полученных участником за все попытки сдачи задачи.

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

  • Перед началом тестирования программа проверяется на примерах из условия задачи. Если хотя бы на одном из этих примеров программа работает неверно, она не принимается для тестирования. Баллы за успешное прохождение примеров не начисляются.
  • Если решение участника прошло все тесты, оно получает полный балл за эту задачу (сумма баллов за все тесты + бонус за прохождение всех тестов) за вычетом произведения штрафных баллов за попытку, помноженных на количество предыдущих попыток сдачи решения. Если в результате получается число, меньшее нуля, количество баллов полагается равным нулю. Например, если в задаче 25 тестов, каждый из которых оценивается в 2 балла, и за прохождение всех тестов назначается бонус в 50 баллов, то полное решение задачи, сданное с первой попытки, оценивается в 100 баллов. Если же при этом штраф за одну попытку равняется пяти баллам и задача была полностью сдана лишь с третьей попытки, то участник получит 90 баллов.
  • Если решение участника прошло часть тестов, оно получает частичный балл за эту задачу, равный сумме баллов за успешно пройденные тесты, за вычетом штрафа (штраф считается так же, как в предыдущем случае). Если в результате получается число, меньшее нуля, количество баллов полагается равным нулю.

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

Апелляция

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

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