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

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

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

Огромную помощь в проведении регионального этапа олимпиады оказывает фирма 1С

Также нам помогает Тинькофф

Муниципальный этап
Условия, решения, тесты
Школьный этап
Задания и решения школьного этапа

Всероссийская олимпиада школьников по информатике в г.Москве, 2018/19 учебный год

Правила проведения регионального этапа

Правила проведения регионального этапа имеют отличия от правил проведения муниципального этапа.

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

  1. Олимпиада проводится в два тура (26 и 28 января 2019). Результаты олимпиады определяются по сумме баллов за два тура. Продолжительность каждого тура составляет 5 часов. На каждом туре предлагается 4 задачи.
  2. Участники олимпиады должны иметь при себе паспорт или социальную карту учащегося (с фотографией).
  3. Во время тура запрещается использование любой литературы, в том числе в бумажном виде, а также заранее заготовленных записей. Также запрещается использование электронных устройств (кроме своих клавиатур и мышей, см. информацию) и носителей информации.
  4. Программа должна использовать стандартный ввод-вывод (данные читаются с клавиатуры, выводятся на экран).
  5. В программах запрещается любое использование сетевых средств, любая работа с файловой системой (чтение, запись, удаление файлов, чтение, создание, удаление каталогов), создание новых процессов или потоков исполнения, запуск программ (в том числе вызов system("pause") в программах на C++), использование GUI операционной системы, использование любых системных вызовов (кроме вызовов выделения и освобождения памяти), любые действия, направленные на дестабилизацию работы тестирующей системы.
  6. В условии каждой задачи приведены примеры входных и выходных данных для этой задачи. Решение участника запускается на тестах из примеров, приведенных в условии задачи, результат работы на этих тестах сообщается участнику.
  7. Для каждой задачи в условии сформулированы подзадачи. Тесты для каждой задачи разбиты на группы, каждой подзадаче соответствует группа тестов. Для каждой подзадачи также могут быть указаны необходимые подзадачи. Для каждой подзадачи указано максимальное количество баллов за эту подзадачу.
  8. Для каждой подзадачи в условии задачи указано, каким образом оценивается эта подзадача. Возможны два варианта:
    а) Потестовая оценка: каждый тест в подзадаче оценивается независимо. Баллы за подзадачу равны сумме баллов за тесты для этой подзадачи, на которых решение участника с соблюдением всех ограничений вывело правильный ответ.
    б) Полная оценка: баллы за подзадачу начисляются только в случае, когда все тесты для этой подзадачи пройдены успешно. Баллы за подзадачу равны либо максимальному баллу за подзадачу, если все тесты пройдены успешно, либо нулю, если хотя бы один тест для этой подзадачи не пройден.
  9. Если для некоторой подзадачи в условии указаны необходимые подзадачи, то баллы за эту подзадачу начисляются только, если все тесты всех необходимых подзадач успешно пройдены. Тестирующая система может не запускать решение на тестах для этой подзадачи, если это условие не выполнено.
  10. Общее количество баллов за задачу равно сумме баллов, полученных за каждую подзадачу.
  11. Общее количество баллов участника равно сумме баллов, полученных за каждую задачу.
  12. Участник может отправлять решения одной и той же задачи на проверку несколько раз. Баллы за каждую задачу равны максимальному баллу среди всех отправленных на проверку решений.
  13. В условии каждой задачи про каждую подзадачу указано, какая информация о результатах проверки решения сообщается участнику. Возможны следующие варианты:
    а) участнику сообщается суммарное количество баллов, которым оценивается его решение на тестах для этой подзадачи;
    б) участнику сообщается результат проверки его решения на каждом тесте для этой подзадачи;
    в) участнику сообщается, что все тесты для этой подзадачи пройдены, либо номер первого теста внутри подзадачи, который не пройден и тип ошибки на этом тесте. В этом случае тестирующая система может не осуществлять запуск на тестах для этой подзадачи после первого непройденного.
  14. Во время тура участник может отправить в тестирующую систему не более 150 решений суммарно по всем задачам.
  15. Не на всех языках программирования все задачи могут быть выполнены на полный балл. Гарантируется возможность решения всех задач на полный балл с использованием компилятора GNU C++. Возможность получения полного балла с использованием других языков программирования не гарантируется, но производительность программ на языках Паскаль, Java, C# обычно также достаточна для того, чтобы решить все задачи на полный балл. Подробнее о языках программирования смотрите внизу этой страницы.
  16. Вопросы по условиям задач, задаваемые участниками через тестирующую систему, должны формулироваться так, чтобы ответ был в форме “да” или “нет”. В отличие от муниципального этапа, если ответ на вопрос содержится в условии задачи, жюри будет отвечать на вопрос сообщением “Читайте условие задачи”, а не содержательным разъяснением.

Замечания по языкам программирования

При проверке заданий ограничения по времени и памяти на программу будут одинаковыми для всех языков программирования. Поскольку сложность задач регионального этапа значительно выше, чем на окружном этапе, то возможно, что на некоторых языках программирования невозможно набрать полный балл в некоторых задачах. Прежде всего это относится к интерпретируемым языкам программирования, например, Python, скорость работы которых в несколько раз меньше (а зачастую и в сотни раз меньше), чем скорость компилируемых языков Pascal и C/C++.

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

Особенности отдельных языков программирования.

Visual C++ — в тестирующей системе этот компилятор отсутствует, вместо него следует использовать GNU C++. В программах на Visual C++ не должны использоваться предварительно откомпилированные заголовочные файлы (директива препроцессора #include "stdafx.h"), не должно быть вызова system("pause"), иных нестандартных особенностей компилятора Visual C++. Программа должна быть написана в соответствии со стандартом языка C++.

Free Pascal — при сдаче решений на Free Pascal следует учитывать, что в используемых стандартных настройках компилятора (без использования специальных опций компиляции в тексте программы) тип integer является 16-битным, а длина строки ограничена 255 символами.

Pascal, Java, C# — возможность решения всех задач на полный балл на этих языках не гарантируется, но скорее всего производительность этих языков программирования достаточна для этого.

Visual C# — в тестирующей системе этот компилятор отстутсвует, вместо него следует использовать компилятор Mono C#.

Python, PHP, Perl, Ruby — данные языки будут доступны в тестирующей системе, но скорее всего не все задания олимпиады могут быть выполнены на полный балл. Жюри предполагает, что при помощи данных языков возможно набрать балл, достаточный для призера олимпиады, но не дает никаких гарантий.