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

Московская олимпиада по программированию

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

Новости Об олимпиаде Заочная олимпиада Окружная олимпиада Региональный этап Всероссийской олимпиады школьников Московская олимпиада по программированию Командная олимпиада Сборы Странички других лет www.olympiads.ru
Командная олимпиада
Новости
Правила командной олимпиады
Задачи, тесты, решения
Результаты лиги A
Результаты лиги B
Регистрация
Список зарегистрированных команд
Информация о месте проведения олимпиады
Задать вопрос оргкомитету

Олимпиада проводится при поддержке Компьютерной компании НИКС, компании Genius и компании Yandex

Московская олимпиада школьников по программированию, 2010/11 учебный год

Командная олимпиада

Московская командная олимпиада по программированию состоится 17 октября 2010 года. В олимпиаде принимают участие команды из 3-х человек (команды могут состоять из учеников разных классов и разных школ). Принять участие в олимпиаде могут команды Москвы и Московской области.

В этом году олимпиада пройдет в двух лигах - лига A ориентирована на команды, которые уже имеют опыт участия в олимпиадах по программированию, лига B предназначена в первую очередь для тех, кто только начинает изучать программирование и принимает участие в олимпиаде впервые. Участникам в лиге B будут предложены более простые задачи, чем в лиге A. Победители олимпиады в каждой лиге будут определяться независимо. Несколько лучших команд лиги A (в соответствии с квотой) получат право участия во Всероссийской командной олимпиаде школьников по программированию. Учащимся 8-9 классов, а также более старшим школьникам, которые ранее не принимали участия в олимпиадах по программированию, жюри настоятельно рекомендует участвовать в лиге B. Информация о местах проведения олимпиады и времени начала будет опубликована на сайте www.olympiads.ru/moscow ориентировочно 14 октября.

Регистрация для участия

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

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

Команды, которые не пройдут квалификационный отбор к вечеру 7 октября (равно как и команды, которые вовремя не заполнят регистрационную форму), к участию в олимпиаде допущены не будут.

Жюри имеет право ограничить количество команд от одной школы.

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

Правила олимпиады

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

Перед основным туром проводится пробный тур (на нем предлагаются 1-2 простые задачи). Пробный тур имеет своей целью познакомить участников с техникой, программным обеспечением и правилами олимпиады. Результаты пробного тура никак не учитываются при подведении итогов олимпиады.

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

Для решения задач участники могут использовать следующие языки программирования и соответствующие им системы разработки (данный список предварительный и может быть изменен):

  • Free Pascal 2.2.4
  • Borland Delphi 7
  • GNU C/C++ 4.4.1 (на компьютерах участников будет установлена среда Code::Blocks, также на компьютерах может быть установлен Microsoft Visual C++ 2008 Express Edition, который можно использовать для разработки программ, но проверяться они будут с использованием компилятора GNU C/C++).
  • Java 1.6.0 (на компьютерах участников будет установлена среда Eclipse)
  • Python 2.5.4
  • Python 3.1.2
  • PHP 5.2.11
  • Perl 5.8.9
  • Ruby 1.9.1
  • Кроме того, на компьютерах участников будут установлены Borland Pascal 7.0 и Borland C/C++ 3.1 (их можно использовать для разработки программ, но сдавать решения нужно как решения на Free Pascal или Delphi и GNU C/C++ соответственно)
  • Обе версии Python будут установлены с IDLE, кроме того будет установлена среда Wing IDE 101
  • Дополнительно на компьютерах участников будет установлен редактор Notepad ++ 5.6.6 и файловый менеджер Far Manager 1.70

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

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

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

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

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

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

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

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

Команды ранжируются по числу решенных задач (чем больше задач решено - тем лучше), а при равном числе решенных задач - по штрафному времени (чем штрафное время меньше - тем более высокое место занимает команда). Штрафное время вычисляется следующим образом: для решенных задач штрафное время представляет собой время в минутах, прошедшее с начала тура до сдачи задачи, плюс 20 штрафных минут за каждую неудачную попытку сдать задачу. За нерешенные задачи штрафное время не начисляется.

Результат проверки сообщается команде в следующем виде. Команде сообщается результат проверки задачи, а в некоторых случаях - и номер первого непрошедшего теста (если команда получила сообщение "Wrong answer на тесте 11", то это значит, что тесты с 1 по 10 у команды прошли правильно).
сообщениеномер теста сообщается?когда возникаетвозможная причина
OKнетрешение зачтеноПрограмма работает верно
Compilation error нет компиляция программы завершилась с ошибкой 1. в программе допущена синтаксическая или семантическая ошибка
2. неправильно указан язык
Примечание: за попытки, завершившиеся "ошибкой компиляции" штрафное время не начисляется
Wrong answer да ответ не верен 1. ошибка в программе
2. неверный алгоритм
Presentation error да программа проверки не может проверить
выходные данные, так как их формат
не соответствует описанному
1. Неверный формат вывода
2. Программа не печатает результат или печатает его в файл с другим именем
3. В программе не закрывается выходной файл
4. Лишний вывод
Time-limit exceeded да программа превысила установленный
в условии лимит времени
1. Ошибка в программе
2. Неэффективное решение
Memory limit exceeded да программа превысила установленный
в условии лимит памяти
1. Ошибка в программе (напр., бесконечная рекурсия)
2. Неэффективное решение
Run-time error да Программа завершила работу с ненулевым
кодом возврата
1. Ошибка выполнения
2. Программа на языке C/C++ не завершается оператором return 0
3. Ненулевой код возврата указан явно

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

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

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

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

Интернет-трансляция

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

Webmaster: webmaster@olympiads.ru