Олимпиады по информатике. Санкт-Петербург, Россия

Памятка участника XXXIII Городской олимпиады школьников Санкт-Петербурга по информатике

Организация тура

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

Участникам строго запрещено трогать компьютер, клавиатуру и условия задач до начала олимпиады.

О начале тура будет объявлено дежурными.

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

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

По истечении времени тура участникам олимпиады запрещается выполнять любые действия на компьютере.

Участникам разрешается приносить с собой воду или питание при условии соблюдения порядка пользования компьютерными классами. Централизованного питания во время тура не предусмотрено.

Конфигурация компьютеров

В распоряжение участников олимпиады будут предоставлены рабочие места, оснащенные современными компьютерами.

На компьютере каждого участника олимпиады будет установлено следующее программное обеспечение.

  • Borland Delphi или Free Pascal или Pascal ABC.Net
  • MinGW (GNU C/C++) или Microsoft Visual Studio

На некоторых компьютерах могут также быть установлены Far Manager, Microsoft Visual Studio, Java, Python, C#. Если необходимое ПО не установлено, участник может попросить дежурных пересадить его за другой компьютер. В каждой точке проведения оргкомитет постараемся обеспечить возможность всем писать на их языке программирования.

Информация о рабочем каталогах, в которые установлено программное обеспечение зависит от места нахождения участника.

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

Проверка решений участников будет производиться с использованием специализированной проверяющей программной среды на базе компьютеров с процессором AMD Phenom II X4 955, 3.2GHz и оперативной памятью 8ГБ.

Во время тура участники отсылают решения задач на проверку.

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

Решение должно читать данные из стандартного ввода и выводить результат в стандартный вывод.

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

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

По каждой задаче оценивается решение, набирающее максимальный балл.

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

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

Оценка полученного участником решения каждой задачи осуществляется по результатам прохождения каждого теста из набора тестов для этой задачи.

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

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

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

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

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

Жюри использует следующие командные строки для компиляции решений.

Компилятор Командная строка
Borland Delphi dcc32 -cc <исходный файл>
Free Pascal fpc <исходный файл>
Pascal ABC.Net pabcnetclearc <исходный файл>
Visual C++ cl /O2 /EHs /TP <исходный файл>
GNU C++ (MinGW) g++ -O2 -Wl,--stack=67108864 -x c++ -std=c++14 <исходный файл>
Java javac <исходный файл>
C# csc /optimize <исходный файл>
D dmd -L/STACK:67108864 -O -release -inline -noboundscheck <исходный файл>
Python 3 компиляция не производится

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

Возможные результаты предварительной проверки решений перечислены в таблице.

РезультатТестКомментарийВозможные причины
Compilation errorНетИсполняемый файл не был создан при компиляции
  • Синтаксическая ошибка в программе;
  • Неправильно указано расширение файла или язык программирования.
Security ViolationДаПрограмма нарушает правила олимпиады
  • Ошибка в программе;
  • Попытка срыва работы проверяющей системы.
Memory limit exceededДаПрограмма превысила лимит используемой памяти.
  • Неэффективное решение;
  • Ошибка в программе.
Time limit exceededДаПрограмма превысила лимит времени работы.
  • Неэффективное решение;
  • Ошибка в программе.
Runtime errorДаПрограмма завершилась с ненулевым кодом возврата или сгенерировала исключительную ситуацию.
  • Ошибка времени исполнения;
  • Не хватает «return 0» в программе на C/C++;
  • «exit(не-ноль)» в C/C++;
  • «halt(не-ноль)» в Delphi;
  • «System.exit(не-ноль)» в Java;
  • Неперехваченное исключение.
Presentation errorДаПроверяющая программа не может проверить правильность вывода, потому что он не соответствует принятому формату.
  • Формат вывода некорректен;
  • Программа не создала выходного файла или создала файл с неверным именем.
Wrong answerДаНеверный ответ.
  • Неверный алгоритм;
  • Ошибка в реализации алгоритма.
AcceptedНетПрограмма прошла предварительные тесты и принята на проверку.Программа корректна.

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

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

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

Работа с проверяющей программной средой

Чтобы запустить клиент проверяющей программной среды, запустите браузер и перейдите на страницу входа в проверяющую среду (http://neerc.ifmo.ru/p).

Введите имя пользователя и пароль указанные на листе, находящемся под клавиатурой.

Основная страница клиента проверяющей программной среды состоит из следующих разделов:

  • Информация — содержит информацию об участнике и олимпиаде.
  • Отправка решения — позволяет отправить решение на проверку.
  • Вопросы — позволяет задать вопрос по неоднозначному пониманию условия задачи.
  • Результаты проверки — отображает результаты проверки отправленных решений.

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