Муниципального этапа Всероссийской олимпиады по информатике
Новосибирск, 2009
Муниципальный этап олимпиады проводится с помощью автоматической системы тестирования.
Для участия в муниципальном этапе олимпиады через Интернет нужно заранее зарегистрироваться на сайте http://olimpic.nsu.ru. В разделе «Школьные олимпиады» выбрать «Всероссийская олимпиада по информатике», затем «Регистрация в автоматической системе тестирования».
(http://olimpic.nsu.ru/roi2010/).
После регистрации для ознакомления с системой тестирования можно в любое время войти в систему, выбрать «Ознакомительный тур» и потренироваться.
Перед началом муниципального этапа олимпиады нужно войти в систему тестирования и выбрать из списка тур под названием «Муниципальный этап 25 ноября 2009 года». В разделе Новости будут выложены условия задач.
Проверка производится автоматически, поэтому:
1). Все задачи читают входные данные из файла input.txt и записывают ответ в файл output.txt. Программа должна работать исключительно с файлами и НЕ должна выводить никакие данные на экран. Работа с другими файлами (не с input.txt и output.txt) запрещена.
2). Необходимо строго соблюдать формат входного и выходного файла. Ни в коем случае нельзя использовать процедуры и функции, ожидающие ввода с клавиатуры (readkey, getch), т.к. в этом случае программа будет ждать ввода бесконечно (и будет снята с тестирования после превышения лимита времени).
3). Существует простой способ чтения из файла и записи в файл:
Pascal:
C:
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
{ теперь обычные функции read, readln, write, writeln будут работать с файлами, а не с клавиатурой / экраном }
{ в конце программы } close(output);
freopen(«input.txt», r, stdin);
freopen(«output.txt», w, stdout);
/* теперь обычные функции printf, scanf, puts, fgetc и т.п. будут работать с файлами, а не с клавиатурой / экраном */
ПРАВИЛА ПРОВЕДЕНИЯ ОЛИМПИАДЫ на автоматической системе тестирования
Во время проведения олимпиады на компьютерах установлено следующее программное обеспечение:
Windows 2000 или XP;
Firefox 2;
Far Manager 1.70;
Free Pascal 2.0.2;
Turbo Delphi Studio Explorer ;
Microsoft Visual C / C++ 6.0 или более новый:
Min GW g++ 3.2.3
Java Development Kit 5.0;
Eclipse 3.3;
Запрещается использовать какие-либо другие компиляторы и библиотеки. Во время тура участники самостоятельно решают предложенные задачи. Решением задачи является исходный текст программы, составленный на одном из допустимых языков программирования. Программа должна состоять из одного файла и не должна ссылаться на вспомогательные модули или файлы. Разные задачи можно решать на разных языках программирования.
Вопросы по системе тестирования участникам можно задавать в течение первых двух часов тура. Вопросы по условиям задач можно задавать по телефону 346–00–78.
Решение участника должно считывать входную информацию из файла input.txt так, как это указано в условии задачи. Запись ответа должна производиться в файл output.txt в соответствии с требованиями, описанными в условии задачи. Необходимо точно соблюдать форматы ввода/вывода, описанные в условии каждой задачи. Решения с неправильным вводом/выводом не оцениваются. Программа не должна выводить на экран какую-либо информацию или ждать нажатия клавиши пользователем; такие программы будут расценены как ошибочные. Время работы решения участника должно укладываться в установленные в условии задачи ограничения. Аналогично, объем используемой оперативной памяти не должен превышать установленные ограничения.
Во время тура с целью проверки корректности формата вывода участник может неограниченное число раз отправлять решение каждой задачи. Каждое отправленное участником решение задачи будет скомпилировано и запущено на тестах, приведенных в условии задачи. Участник получит краткий отчёт о результате работы его программы. Окончательным решением каждой задачи будет считаться решение, отправленное последним во время тура олимпиады. Именно оно и будет использоваться жюри для заключительной проверки.
Решения участников проверяются на заранее подготовленном жюри наборе тестов. Система тестов всегда составляется таким образом, чтобы оценивать и частичные решения задач.
Краткое описание системы тестирования
В разделе Новости вы можете прочитать объявления и комментарии от жюри и оргкомитета олимпиады. А так же узнать время начала и конца олимпиады. После начала олимпиады на этой странице появляются ссылки на условия задач.
В разделе Сдать осуществляется отправка задач на тестирование. Для того, чтобы отправить задачу на тестирование, укажите язык, на котором написано решение, и номер задачи. Вставьте текст решения в поле ввода и нажмите кнопку Отправить. Или выберите файл, пользуясь строкой выбора файла, а затем нажмите кнопку Отправить. Ваше решение появится в списке отправленных задач в секции Результаты.
В разделе Отправить решение осуществляется отправка задач на тестирование. Для того, чтобы отправить задачу на тестирование, укажите язык, на котором написано решение, и номер задачи. Вставьте текст решения в поле ввода и нажмите кнопку Отправить. Ваше решение появится в списке отправленных задач в секции Результаты тестирования.
Ваши решения должны считывать входную информацию из файла input.txt и выдавать результат в файл output.txt. Запрещено читать из стандартного потока ввода, писать в стандартный поток вывода, стандартный поток ошибок. Программа участника не должна открывать, читать и модифицировать файлы, кроме input.txt и output.txt или иных, указанных в условии задачи. Доступ к файловой системе и другим ресурсам, кроме перечисленных в формулировке задачи, запрещен. Нарушение этого требования может быть основанием для дисквалификации. Ограничение на размер исходного кода – 100 килобайт. Формат вывода должен точно соответствовать требованиям, описанным в условии задачи.
Участник может использовать любой компилятор из перечисленных в разделе Сдать.
Опции компиляции:
Visual C++ 6.0
cl.exe /EHsc /Ox /STACK:33554432 task.cpp
Visual C++ 2005
cl.exe /EHsc /Ox /STACK:33554432 task.cpp
Min GW 5.1.4 (GCC 3.4.5)
c++.exe -Wall -Wl,--stack=33554432 -O2 task.cpp
Freepascal 2.2.0
ppc386.exe -O2 -Cs 33554432 task.pas
Delphi 2006
dcc32 -CC -W- -$D-
Java 1.6.0_07
javac.exe Task.java
Запуск Java
java.exe –Xmx%LM%m -Xss 32 m -Djava.security.manager Task где %LM% – ограничение памяти, указанное в условии задачи
Основной класс в Java называется Task.
В разделе Результаты вы можете просмотреть статус тестирования и результаты тестирования отправленных вами задач. В строке «Время» указано время на момент сдачи решения, язык программирования который Вы указали, сдавая это решение. Ссылка view source покажет текст сданного решения.
В строке «Результат» отображается результат тестирования:
Queued
– решение стоит в очереди на тестирование
Testing...
– тестируется прямо в этот момент
Source code limit exceeded
– превышено ограничение на исходный код программы
Compile Error
– не удалось скомпилировать (причина указывается)
когда решение протестировано, статус принимает одно из следующих значений:
– решение засчитано как верное
Wrong Answer
– неверный ответ на тесте
Time limit exceeded
– решение не уложилось в отведенное процессорное время
Timeout
– решение не уложилось в отведенное время
Run time Error
– решение вернуло код ошибки, отличный от нуля
Memory limit exceeded
– решение не уложилось в отведенное ограничение по памяти
No output file
– отсутствует файл output.txt
Security violation
– решение совершило действие запрещенное правилами
Раздел Вопросы и ответы предназначен для общения с Жюри олимпиады. Вы можете задать жюри вопросы по условиям задач или указать на неточность формулировки задач.
Кроме того, если Жюри считает необходимым внести какие-либо изменения в условия задач, поправки будут опубликованы в этой секции либо в новостях.
Время тестирования решения на каждом тесте ограничено. Решения, превысившие установленное ограничение, считаются неэффективными для данной задачи. В этом случае тест не засчитывается. Жюри указывает ограничения на время тестирования в формулировках задач.
Не оцениваются решения, в которых используется:
расширенная память;
инструкции ассемблера в тексте программы;
создание файлов и каталогов во время работы программы, кроме оговоренных в условии;
чтение и запись векторов прерываний;
любые другие действия, нарушающие работу проверяющего компьютера во время тестирования.
Решение должно выдавать одинаковые ответы на одинаковые тесты, не зависимо от времени запуска и программного окружения. Жюри вправе произвести неограниченное количество повторных тестирований программы участника и выбрать наихудший результат по каждому из тестов.
За нарушение правил олимпиады участник по решению жюри может быть дисквалифицирован.
В случае возникновения сбоев в работе компьютера или программного обеспечения необходимо срочно обратиться к дежурному преподавателю, который должен письменно зафиксировать сбой и сообщить о нем жюри. По решению жюри может быть добавлено время, потраченное на восстановление работоспособности компьютера.
Жюри не несет ответственности за сохранность файлов участников.