Правила проведения олимпиады секции «Информатика

advertisement
Правила проведения олимпиады секции
«Информатика» Всероссийского конкурса
научных работ школьников «Юниор»
ОБЩИЕ ПОЛОЖЕНИЯ
Олимпиада секции «Информатика» (далее – Соревнование) Всероссийского конкурса
научных работ школьников «Юниор» (далее - Конкурс) является одним из этапов оценки
школьника (далее – Участника) и предоставленной им в рамках Конкурса работы.
Результаты Соревнования принимаются во внимание Жюри Конкурса при определении
победителей и призеров.
ПРОВЕДЕНИЕ СОРЕВНОВАНИЯ
Каждый участник Конкурса участвует в Соревновании индивидуально. В случае,
если Оргкомитет выявляет нарушение данного правила в ходе соревнования, он имеет
право снять данного Участника с участия в Соревновании, а также частично или
полностью аннулировать результаты данного участника в рамках Соревнования.
В рамках соревнования каждый участник получает в своё распоряжение один IBM
PC совместимый компьютер, работающий под управлением операционной системы
Windows XP или выше. На каждом компьютере настроено подключение к серверу
проверяющей системы Соревнования, а также установлены среды программирования,
позволяющие составлять исходные тексты программ для решения задач Соревнования.
Список языков программирования и программных сред, установленных на
компьютерах Участников, следующий:
ЯЗЫК
СРЕДА
C/C++
MS Visual Studio
Code::Blocks и/или MinGW и/или DevCpp
C#
MS Visual Studio
Java
Java Development Kit (jdk) + Java Runtime Environment (jre)
Eclipse и/или Netbeans
Pascal
Free pascal и/или Turbo delphi и/или Borland Delphi и/или
Embracaderro и/или CodeGear RAD Studio и/или Lazarus
Python
Visual Basic
По решению Оргкомитета Соревнования, на компьютеры Участников могут быть
установлены дополнительные программные среды, не включенные в список выше.
Оргкомитет гарантирует наличие хотя бы одного компилятора для каждого из доступных
на Соревновании языков программирования на каждом компьютере Участника, однако не
гарантирует наличие на каждом компьютере всех перечисленных компиляторов.
В индивидуальном порядке, Оргкомитет может решить вопрос о допуске к участию
в Соревновании Участника, использующего собственный персональный компьютер с
установленными необходимыми средами программирования, если такое решение будет
обосновано и не создаст дополнительных преимуществ для данного Участника по
отношению к остальным Участникам Соревнования.
До начала Соревнования проводится ознакомительная сессия, в ходе которой
Участники могут проверить наличие необходимых им сред программирования на своих
компьютерах, а также их работоспособность, и ознакомиться с порядком сдачи решений в
проверяющую систему. Ориентировочная продолжительность ознакомительной сессии –
15 минут.
РЕШЕНИЕ ЗАДАЧ
В рамках Соревнования каждому Участнику для решения предлагается набор от 3
до 5 задач разной сложности. Наборы задач различны для участников 9-х, 10-х и 11-х
классов. Продолжительность соревнования – 2 часа. Оргкомитет Соревнования имеет
право изменить продолжительность соревнования в случае каких-либо непредвиденных
обстоятельств.
Решением каждой задачи является программа (файл с исходным текстом),
написанная на одном из разрешенных языков программирования. Участник может
использовать любой из разрешенных языков программирования для решения любой из
задач, в том числе, использовать разные языки для решения разных задач.
Участник может обратиться к Оргкомитету с вопросом по условию какой-либо
задачи, используя соответствующую возможность интерфейса проверяющей системы.
Вопрос должен предполагать ответ «Да» или «Нет». Оргкомитет может ответить на
поставленный вопрос «Да», «Нет», «См. Условие», если считает, что ответ на
поставленный вопрос содержится в условии задачи, и «Без комментариев». Оргкомитет
может разослать ответ на поставленный Участником вопрос всем Участникам
соревнования.
ПРОВЕРКА РЕШЕНИЙ
Проверка представленных Участниками решений проводится во время
соревнований с использованием автоматической проверяющей системы. Участники
посылают решения через пользовательский интерфейс проверяющей системы. При
посылке решения Участник выбирает компилятор, который будет использован для
компиляции решений. Поддерживаются следующие компиляторы:



Free Pascal 2.6.0-6
GNU C 4.7.2
GNU C++ 4.7.2


GNU Java 4.7.2-1ubuntu
Python 2.6.8
Все компиляторы работают под управлением OS Linux. Во время турнира могут
быть использованы более новые версии компиляторов при условии сохранения
совместимости с версиями, указанными выше. Решения участников запускаются под OS
Linux. Решение проверяется путем запуска на наборе тестов, который недоступен
участникам и является одинаковым для всех команд.
Максимальное количество баллов, которое может получить Участник за решение
одной задачи, равно 100. Эта сумма баллов складывается из отдельных баллов,
полученных за каждый успешно пройденный решением тест, и дополнительного
количества баллов, начисляемого в случае правильных ответов на все предложенные
тесты. Количество тестов для каждой задачи, количество баллов за выполнение каждого
из тестов и количество дополнительных баллов за полное решение задачи заранее
неизвестно участникам, и может быть различным для каждой задачи, но не может
меняться в ходе Соревнования.
Участник имеет возможность послать более одного решения для каждой задачи
Соревнования. В случае если Участник посылает несколько решений одной и той же
задачи, то для каждого следующего решения начисляются штрафные баллы по
следующему правилу: общее количество баллов, получаемых Участником за каждое
решение, уменьшается на количество посылок, сделанных ранее участником по этой
задаче. Например, первое решение участника прошло лишь часть тестов и набрало 30
баллов. Участник находит ошибку в своём решении, исправляет её и посылает на
тестирование повторно. Если новое решение проходит все тесты, то Участник получает за
него 99 = 100–1 баллов. Количество баллов, полученных за каждое решение, не может
быть отрицательным.
Общее количество баллов Участника за каждую задачу определяется, как
максимальное количество баллов за все решения, отправленные Участником по данной
задаче. Если участник не отправил ни одного решения по задаче, то он получает 0 баллов
за данную задачу.
В условии каждой задачи указывается максимальное время выполнения для одного
теста. Если на одном из тестов программа превысила это время, решение считается
неверным для данного теста.
Так как тестирование решений производится автоматически, программы должны в
точности соблюдать форматы входных и выходных файлов, описанные в условии каждой
задачи. Несоответствие указанным форматам может быть причиной того, что решение не
будет засчитано, как правильное.
Если в условии задачи не оговорено отдельно, все входные данные предполагаются
корректными и удовлетворяющими всем указанным в условии ограничениям.
По мере готовности Участник посылает свои решения в тестирующую систему для
проверки. После этого Участник может продолжать работу над другими задачами.
Результаты проверки посланного решения будут доступны немедленно по завершении
проверки. Участнику сообщается, сколько баллов набрало его решение. Также участнику
демонстрируются результат работы его программы на каждом из тестов (содержание
тестов не демонстрируется). Результаты работы программы во время тестирования могут
быть следующими:
сообщение
OK
Compilation
error
номер теста
сообщается?
нет
нет
Wrong answer да
Presentation
error
да
Time-limit
exceeded
да
Memory limit
exceeded
да
Run-time error да
когда возникает
возможная причина
решение зачтено
Программа работает верно
компиляция программы 1. в программе допущена
завершилась с ошибкой синтаксическая или
семантическая ошибка
2. неправильно указан язык
ответ не верен
1. ошибка в программе
2. неверный алгоритм
программа проверки не 1. Неверный формат вывода
может проверить
2. Программа не печатает
выходные данные, так
результат
как их формат
3. Лишний вывод
не соответствует
описанному
программа превысила
1. Ошибка в программе
установленный
2. Неэффективное решение
в условии лимит
времени
программа превысила
1. Ошибка в программе (напр.,
установленный
бесконечная рекурсия)
в условии лимит памяти 2. Неэффективное решение
Программа завершила
1. Ошибка выполнения
работу с ненулевым
2. Программа на языке C/C++
кодом возврата
не завершается оператором
return 0
3. Ненулевой код возврата
указан явно
При возникновении ошибки Compilation error программа не запускается ни на
одном тесте. При возникновении ошибок Run-time error, Memory limit exceeded, Time-limit
exceeded вывод программы не проверяется.
Посылки одной и той же команды с идентичным исходным текстом, сделанные
подряд, игнорируются. Если посылка была признана неправильной по причине ошибки
компиляции, такая посылка не учитывается при последующем вычислении штрафа за
успешно сданные задачи, однако учитывается при подсчёте квот на посылки.
Первыми тестами в наборе тестов всегда являются тесты из условия задачи. Тесты
идут в том же порядке, в котором они приведены в условии задачи.
ОПРЕДЕЛЕНИЕ ПОБЕДИТЕЛЕЙ
Полную и окончательную ответственность за проверку правильности
представляемых решений несет Оргкомитет Соревнования. Все решения Оргкомитета
окончательны и обжалованию не подлежат.
Участники ранжируются по сумме баллов, набранных ими за все задачи
Соревнования к моменту завершения Соревнования. При равенстве баллов Участники не
ранжируются между собой, а считаются поделившими несколько мест.
Все промежуточные результаты, объявленные в ходе соревнования, являются
неофициальными.
Официальные результаты Соревнования объявляются в тот же день по окончанию
соревнования.
Download