Вы сейчас здесь: Главная страница > Статья
Проведение олимпиады
Олимпиада состоит из пробного и основного туров.
В ходе пробного тура участники могут ознакомиться с рабочими местами и предоставленным программным обеспечением, решив несколько простых задач. Результаты пробного тура не учитываются при подведении итогов олимпиады.
Основной тур длится 4 часа. Жюри имеет право продлить тур в случае непредвиденных обстоятельств. Во время основного тура участникам предлагается для решения 4 задачи. Жюри принимает решения на языках программирования С, C++, Python3, Pascal, Java. Отправка решений осуществляется во время тура с помощью программного обеспечения олимпиады. Через некоторое время после отправки участнику становится доступен результат проверки на тестах из условия задачи. После завершения тура проводится окончательная проверка решений участников. На проверку будет принято последнее прошедшее предварительное тестирование решение для каждой задачи (т. е. последнее решение, получившее вердикт Accepted).
Для написания программ и их отладки участникам предоставляются следующие среды программирования: • FreePascal 2.4.0 или более поздние версии; • Code::Blocks 10.05 или более поздние версии; • Eclipse 3.6.0 или более поздние версии; • Lazarus 0.9.28.2 или более поздние версии; • Microsoft Visual C/C++ 2008 или более поздние версии; • Python 3.2 или более поздние версии;
Во время тура участникам Олимпиады запрещается пользоваться Интернетом, любыми электронными устройствами, в том числе личными компьютерами, калькуляторами, электронными записными книжками, средствами связи (пейджерами, мобильными телефонами и т.п.), электронными носителями информации (дискетами, CD- и DVD-дисками, модулями флэш-памяти и т.п.), а также учебной литературой и заготовленными личными записями. Выход в Интернет возможен только для получения доступа к системе автоматической проверки решений участников.
Во время основного тура участники могут задавать вопросы членам жюри по условию какой-либо задачи. Вопрос должен быть сформулирован на русском языке и предполагать ответ «Да» или «Нет». Вопрос задаётся с помощью программного обеспечения олимпиады. Жюри может ответить на поставленный вопрос «Да», «Нет» или «Без комментариев». Жюри может разослать ответ на вопрос всем участникам олимпиады.
Участники могут быть дисквалифицированы за несоблюдение данных правил, а также за совершение действий, которые могут нарушить работу программного обеспечения олимпиады. За нарушение правил во время пробного тура команда может быть отстранена от дальнейшего участия в олимпиаде.
Проверка решений
Решением задачи является файл с исходным текстом программы, написанной на одном из разрешённых языков программирования. Исходный текст программы не должен превышать 256 Кбайт, а время компиляции программы должно быть не больше одной минуты.
В решениях задач запрещается:
• создавать каталоги и временные файлы при работе программы;
• осуществлять чтение и запись векторов прерываний;
• использовать любые сетевые средства;
• совершать любые другие действия, нарушающие работу проверяющей системы.
Для проверки решений участников используется программная среда проведения соревнований. Компиляция решений в проверяющей системе осуществляется с помощью команды компиляции, соответствующей выбранному участником языку программирования.
Решения на сервере компилируются под операционной системой Linux с использованием следующих опций компилятора:
[C++ (gnu)]
/usr/bin/c++ -O2 -fno-stack-limit -x c++ {src} -o{src}.o
[C++11(gnu)] /usr/bin/c++ -O2 -fno-stack-limit -std=c++0x -x c++ {src} -o{src}.o
[C (gnu)] /usr/bin/c++ -O2 -fno-stack-limit -x c {src} -o{src}.o
[FPC (Delphi mode)] /usr/bin/fpc -Cs67107839 -Xt -O2 -Mdelphi {src} -o{src}.exe
[FPC] /usr/bin/fpc -Cs67107839 -Xt -O2 -Mfpc {src} -o{src}.exe
[Java]
javac -g:none -classpath %s.dir %s.dir/%s"
public class Main {} is required например:
public class Main
{
public static void main(String [] args)
// Write your code here
}
Решение проверяется путём последовательного запуска на наборе тестов. Так как тестирование производится автоматически, поэтому программы должны в точности соблюдать форматы входных и выходных данных, описанные в условии каждой задачи. Все входные данные предполагаются корректными и удовлетворяющими всем ограничениям, указанным в условии задачи.
Для каждой задачи определены максимальное время выполнения, объём доступной памяти. Если на одном из тестов программа превысила это время, выделила больше памяти, тест считается непройденным.
После отправки решения в тестирующую систему, участнику сообщается результат проверки. Сообщение от проверяющей системы может быть одним из следующих:
сообщение
расшифровка
возможная причина
Accepted
решение засчитано
программа работает верно
Compilation error
компиляция программы завершилась с ошибкой
синтаксическая ошибка; неправильно указан язык; размер исходного файла слишком большой
Wrong answer N
ответ программы неверен
ошибка в программе; неверный алгоритм
Runtime error N
программа завершила работу аварийно или с ненулевым кодом возврата работу
программа на языке С не завершается оператором return 0; деление на ноль; бесконечная рекурсия; массивы имеют недостаточный размер
Presentation error N
Неверный формат вывода
формат выводимых данных не соответствует условию задачи
Time limit exceeded N
программа не закончила работу в установленное время
бесконечный цикл; неэффективное решение
Memory limit exceeded N
программа превысила установленное ограничение по памяти
утечка памяти; неэффективное решение
Output limit exceeded N
программа превысила ограничение на размер выходных данных
бесконечный цикл с выводом большого количества данных; ошибка в программе
Real time limit exceeded N
программа не использует процессорное время в течении длительного промежутка
ввод с клавиатуры; ошибка в программе
Pending Check
система получила ваше решение и оно находится в очереди на проверку
Running
система начала проверять ваше решение, через некоторое время вы узнаете вердикт
При получении вердикта "Compilation error" программа не запускается ни на одном тесте.
Результаты
Итоговая оценка участника формируется по результатам оценивания его решений всех задач и определяется как сумма баллов, полученных участником за решение каждой задачи. Формой представления итоговых результатов являются таблицы, представляющие собой ранжированный список участников, расположенных по мере убывания набранных ими баллов. Также для каждого класса составляется своя таблица. Участники с одинаковыми баллами располагаются в каждой таблице в алфавитном порядке.
Победителем муниципального этапа по каждому классу в соответствии с п.33 Положения о Всероссийской олимпиаде школьников признается участник, набравший наибольшее количество баллов, составляющее более половины от максимально возможных. Все участники, которые набрали одинаковое наибольшее количество баллов, составляющее более половины от максимально возможных, признаются победителями.
Призерами муниципального этапа в пределах установленных квот по каждому классу признаются все участники, следующие в соответствующей итоговой таблице за победителями (п. 35 Положения о Всероссийской олимпиаде школьников). В случае, когда у участника, определяемого в пределах установленной квоты в качестве призера, оказывается количество баллов такое же, как и у следующих в итоговой таблице за ним, то решение по данному участнику и всем участникам, имеющим с ним равное количество баллов, определяется жюри муниципального этапа Олимпиады.