Департамент образования г.Москвы
МГУ им.М.В.Ломоносова
МИОО
МЦНМО

Московская олимпиада по информатике

на сайте www.olympiads.ru

Новости Об олимпиаде Личная олимпиада Командный тур Пробный интернет-тур Заочный тур Сборы Странички других лет www.olympiads.ru
Личная олимпиада
Правила олимпиады
Материалы олимпиады
Призеры олимпиады
Персональная страница участника 2-го тура
Результаты олимпиады
Персональная страница участника 1-го тура
Предварительные результаты 1 тура
Время и место проведения
Список приглашенных по результатам заочного тура
Список персонально приглашенных по результатам прошлого года
Задать вопрос оргкомитету

Московская городская олимпиада школьников по информатике, 2003/04 учебный год
при поддержке компаний
Microsoft NIX

Личная олимпиада. Правила

На олимпиаде участнику предоставляется персональный компьютер и предлагается решить несколько задач (обычно - 3-4).

Продолжительность тура - 4-5 часов. Жюри может продлить время тура в случае каких-либо непредвиденных обстоятельств.

Для решения задач участники могут использовать следующие языки программирования и соответствующие им системы разработки:
ЯзыкСистема разработкиПримечания
PascalBorland Pascal 7.0-
PascalFree Pascal 1.0.10жюри оставляет за собой право по техническим причинам исключить данную систему из состава доступных систем разработки
C/C++Borland C++ 3.1-
C/C++GNU C/C++ 3.2жюри оставляет за собой право по техническим причинам исключить данную систему из состава доступных систем разработки
BasicQBasic 4.5жюри не гарантирует, что любую задачу олимпиады можно полностью решить, используя данную систему разработки

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

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

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

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

Проверка решений производится после окончания тура (что отличает личную олимпиаду от командной и заочного тура). Решение проверяется на заранее подготовленном жюри наборе тестов.

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

Решения проверяются на наборе тестов, указанных в условии задачи, и участникам сообщается результат проверки.
Тип сообщенияОписаниеВозможная причина
OKЗадача прошла все тесты из условия задачиОтсюда не следует, что решение правильное - в условии обычно указываются лишь простейшие случаи
Partial SolutionЧастичное решение: не прошли некоторые тесты из условия (или не прошел ни один тест)См. следующую таблицу
Compilation ErrorВ результате компиляции не создан исполняемый файлСинтаксическая ошибка в программе. Указан неверный язык программирования (например C для программы на C++)

Также после проверки будет доступен просмотр более подробной информации, где сообщается результат проверки по каждому тесту:
Тип сообщенияОписаниеВозможная причина
OKТест пройденПрограмма на этом тесте работает верно.
Wrong AnswerОтвет не веренОшибка в программе. Неверный алгоритм решения.
Presentation ErrorПрограмма проверки не может проверить выходные данные, т.к. их формат не соответствует описанному в условииНеверный формат вывода. Выходной файл имеет неправильное имя, или отсутствует. Программа не печатает результат. В выходной файл выдается лишняя информация. Программа не закрывает выходной файл.
Time Limit ExceededПрограмма превысила установленный в условии предел времени.Неэффективное решение. Ошибка в программе.
Runtime ErrorПрограмма вышла с ненулевым кодом завершения либо произошел аварийный выход программы (crash). В этом случае результат работы программы не проверяетсяОшибка выполнения. Программа на языке C/C++ не завершается оператором 'return 0'. Ненулевой код возврата указан в программе. Программа превысила установленный в условии предел памяти.
Возможна ситуация, что программа на компьютере участника на каком-то тесте работает верно, а под тестирующей системой - нет. Это может быть из-за неверных имен входного/выходного файлов, использования неинициализированных переменных, превышение предела памяти, различий в ключах компилятора, при завершении программы с ненулевым кодом возврата.

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

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

В решениях задач запрещено использовать:

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

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

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

За нарушение правил олимпиады команда может быть дисквалифицирована.

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

Система оценки

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

Апелляция

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

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

Webmaster: webmaster@olympiads.ru