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

Олимпиады по программированию в Москве

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

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

Олимпиада проводится при поддержке Департамента образования города Москвы Московского государственного университета им.М.В.Ломоносова, Московского физико-технического института, ОАО "МГТС", Компьютерной компании НИКС и компании Яндекс

Олимпиады по программированию в Москве, 2011/12 учебный год

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

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

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

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

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

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

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

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

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

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

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

  • Free Pascal 2.2.4
  • Borland Delphi 6 или 7
  • GNU C/C++ 4.4.1 (на компьютерах участников будет установлена среда Code::Blocks, также на компьютерах может быть установлен Microsoft Visual C++ 2008 или 2010 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

Во время тура разрешается пользоваться любой литературой и личными записями. Категорически запрещается пользоваться любыми носителями информации в электронном виде (дискетами, 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. Ненулевой код возврата указан явно

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

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

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

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

Webmaster: webmaster@olympiads.ru