 |  |
Правила Двенадцатой Всероссийской командной олимпиады школьников по программированию
Общая часть
-
Всероссийская командная олимпиада школьников по программированию проводится
Министерством образования Российской Федерации, Комитетом по образованию администрации
Санкт-Петербурга, Санкт-Петербургским
государственным университетом информационных технологий, Алтайским Государственным Техническим Университетом.
-
Основными целями и задачами олимпиады являются пропаганда научных знаний и развитие
у школьников интереса к научной деятельности, активизация работы спецкурсов,
кружков, научных обществ учащихся, развития других форм работы со школьниками,
создание оптимальных условий для выявления одаренных и талантливых школьников, их
дальнейшего интеллектуального развития и профессиональной ориентации, развитие умения
работать в коллективе.
Порядок организации и проведения олимпиады
-
Олимпиада проводится в один компьютерный тур. На туре команде предоставляется
персональный компьютер и предлагается решить несколько задач. Продолжительность тура — 5
часов. Жюри может продлить время тура в случае каких-либо непредвиденных обстоятельств.
-
В олимпиаде принимают участие команды, каджая из которых составлена из трех школьников.
-
Участникам предоставляются современные компьютеры с установленной операционной
системой семейства Windows.
-
Для решения задач участники могут использовать следующие языки программирования и соответствующие
им среды разработки:
- Pascal: Borland Pascal 7.0, Borland Delphi 7.0, Free Pascal 2.4.4;
- C/C++: Borland C++ 3.1, Visual C++ 2010 Express Edition, GNU C++ 4.6.1 (MinGW), Code::Blocks 10.05;
- Java: Sun JDK 1.6.0_27, Eclipse 3.6.
- Python: Python 3.2.2, Wing IDE 101 4.0.4.
-
Все среды разработки будут полностью установлены на каждом компьютере,
включая встроенные системы помощи и примеры. Запрещается использовать
какие-либо другие компиляторы и библиотеки.
-
Во время тура разрешается пользоваться любой литературой и личными записями.
Запрещается использовать любую информацию в электронном виде, личные компьютеры
или калькуляторы, мобильные средства связи.
-
Во время тура участники решают предложенные задачи. Решением задачи является программа,
составленная на одном из допустимых языков программирования. Программа не должна
содержать вспомогательных модулей или файлов. Разные задачи можно решать на разных
языках программирования.
-
Все задачи предполагают, что входные данные расположены в одном или нескольких
входных файлах, чьи имена определены в тексте задачи. Программа должна
формировать выходной файл (или несколько файлов) с заданными именами. Все входные
и выходные файлы располагаются в текущей директории.
-
Проверка решений производится во время соревнований. С помощью специальной
программы команды посылают свои решения жюри. Жюри компилирует программы,
используя компиляторы командной строки, и проверяет их. Участники должны
поместить все директивы компилятора в файлы решений.
-
По мере готовности своих решений команда посылает их жюри для проверки. После
этого команда может продолжать работу над другими задачами. После того, как жюри
проверит решение (проверка занимает около 1-5 минут), команда получает сообщение
с результатами тестирования. Это сообщение показывается на экране. Если не
возникло ошибки компиляции, то в нем сообщается, что задача зачтена, либо
сообщение с указанием ошибки на первом из непройденных тестов.
-
Возможные типы сообщений:
| Результат | Номер теста | Комментарий | Возможные причины |
| Compilation error | No | В результате компиляции программы не создан исполняемый файл. |
- Синтаксическая ошибка в программе;
- При отправке на проверку выбран неверный язык программирования.
|
| Time limit exceeded | Yes | Программа не завершилась за отведенный период времени. |
- Неэффективное решение;
- Ошибка в программе.
|
| Memory limit exceeded | Yes | Программа попыталась использовать больше памяти, чем разрешается. |
- Неэффективное решение;
- Ошибка в программе.
|
| Security Violation | Yes | Программа попыталась предпринять действия, запрещенные правилами. |
- Ошибка в программе;
- Намеренное нарушение правил (в этом случае команда будет дисквалифицирована).
|
| Runtime error | Yes | Программа завершилась с ненулевым кодом возврата, либо создала исключительную ситуацию (exception) и не обработала ее. |
- Ошибка времени исполнения;
- В конце программы на C/C++ нет оператора 'return 0';
- 'return (не 0)' в программе на С/С++;
- 'halt(не 0)' в программе на паскале;
- 'System.exit(non-zero)' в программе на Java;
- Необработанная исключительная ситуация.
|
| Presentation error | Yes | Программа проверки не может проверить выходные данные, т.к. их формат не соответствует описанному. |
- Неверный формат вывода;
- Выходной файл имеет неправильное имя, или отсутствует.
|
| Wrong answer | Yes | Ответ неверен. |
- Неверный алгоритм решения.
|
| Accepted | No | Решение принято жюри. |
|
-
Решения участников проверяются на заранее подготовленном жюри наборе тестов.
Решение принимается жюри, если оно прошло все тесты. Частичные решения
(прошедшие не все тесты) не оцениваются.
-
Время тестирования и решения и доступная память на каждом тесте ограничены. Решения,
превысившие установленное ограничение, считаются неэффективными для данной задачи. В
этом случае тест считается не пройденным, а решение, как следствие, неверным.
Жюри указывает ограничения на время работы программы на одном тесте и на размер
доступной памяти в формулировках задач.
-
В решениях задач запрещено использовать:
- расширенную память и защищенный режим процессора при использовании 16-битных компиляторов;
- чтение и запись векторов прерываний;
- создание подкаталогов;
- любой ввод/вывод кроме открытия, закрытия, чтения и записи файлов, указанных в условии задачи;
- любое использование сетевых средств;
- любые другие средства или действия, которые могут нарушить процесс проверки и прохождения первенства.
-
Решение должно выдавать одинаковые ответы на одинаковые тесты, не зависимо
от времени запуска и программного окружения. Жюри вправе произвести неограниченное
количество повторных тестирований программы участника и выбрать наихудший
результат по каждому из тестов.
-
Во время тура участники могут общаться только с членами своей команды и представителями жюри.
-
За нарушение правил олимпиады команда может быть дисквалифицирована.
-
Апелляция не проводится.
-
Жюри обладает исключительным правом определения правильности прохождения тестов,
выставления оценок, определения победителей и дисквалификации участников. Жюри
разбирает вопросы, возникающие в результате непредвиденных событий и обстоятельств.
Решения жюри окончательны и обжалованию не подлежат.
Система оценок
-
Выше оказывается классифицирована команда, решившая большее количество задач.
-
При равенстве количества решенных задач выше оказывается классифицирована
команда, у которой меньше суммарное штрафное время. Штрафное время
вычисляется следующим образом: для решенных задач, штрафное время
представляет собой время в минутах, прошедшее с начало тура до сдачи задачи,
плюс 20 штрафных минут за каждую неудачную попытку сдать задачу. За нерешенные
задачи штрафное время не начисляется.
|
|
|  |