Московская олимпиада по информатике на сайте www.olympiads.ru |
Новости | Об олимпиаде | Личная олимпиада | Командная олимпиада | Заочный тур | Сборы | Странички других лет | www.olympiads.ru |
|
Московская городская олимпиада школьников по информатике,
2005/06 учебный год
|
Язык | Система разработки | Примечания |
Pascal | Borland Pascal 7.0 | жюри не гарантирует, что любую задачу олимпиады можно полностью решить, используя данную систему разработки |
Pascal | Free Pascal 2.0.0 | - |
Pascal | Borland Delphi 6.0 | - |
C/C++ | Borland C++ 3.1 | жюри не гарантирует, что любую задачу олимпиады можно полностью решить, используя данную систему разработки |
C/C++ | GNU C/C++ 3.4.4 | - |
Basic | QBasic 4.5 | жюри не гарантирует, что любую задачу олимпиады можно полностью решить, используя данную систему разработки |
Во время тура разрешается пользоваться любой литературой и личными записями. Категорически запрещается пользоваться любыми носителями информации в электронном виде (дискетами, CD и DVD дисками, USB flash drive'ами и др.), электронными устройствами (калькуляторами, электронными записными книжками, собственными компьютерами) и средствами связи (мобильные телефоны, пейджеры), общаться с руководителями команд.
Во время тура участники решают предложенные задачи. Решением задачи является программа, написанная на одном из допустимых языков программирования. Программа не должна содержать вспомогательных модулей или файлов. Разные задачи можно решать на разных языках программирования.
Все задачи предполагают, что входные данные расположены в одном или нескольких входных файлах, имена которых определены в тексте задачи. Программа должна формировать выходной файл (или несколько файлов) с заданными именами. Все входные и выходные файлы располагаются в текущей директории.
В задачах, в которых из входного файла вводится последовательность чисел, числа могут разделяться одним или несколькими пробелами и (или) символами перевода строки. После последнего числа в файле также могут идти переводы строки и (или) пробелы. Во всех задачах (если иное не оговорено в условии) в конце строк могут идти незначащие пробелы, после последней строки с данными могут быть незначащие пустые строки.
Проверка решений производится во время соревнований. С помощью специального программного обеспечения команды посылают свои решения жюри. Размер исходного кода посылаемого решения не должен превышать 64 кб. Жюри транслирует программы, используя компиляторы командной строки, и проверяет их. Участники должны поместить все директивы компилятора в файлы решений.
По мере готовности своих решений команда посылает их жюри для проверки. После этого команда может продолжать работу над другими задачами. После того, как жюри проверит решение (проверка занимает около 1-5 минут), команда получает сообщение с результатами тестирования.
Решения проверяются на заранее подготовленных жюри наборах тестов. Эти наборы одни и те же для всех команд и для разных попыток сдачи задачи одной команды. При этом программа должна на каждом тесте укладываться в отведенное время работы и не превышать ограничение на размер доступной памяти. Программа должна завершаться с 0 кодом возврата. Программа запускается на тестах до 1-го неправильного теста (как только найден тест, на котором программа не работает или выдает неверный ответ, дальнейшее тестирование программы не производится).
Каждая задача оценивается 2 баллами. 2 балла получает программа, которая проходит все тесты. Кроме того, 1 баллом оцениваются решения, которые проходят некоторое количество первых тестов в задаче (это количество определяется жюри, оно может быть различным в различных задачах, это количество, как и общее количество тестов по задаче, участникам не сообщается). Жюри может (однако не обязано) указать в условии дополнительные ограничения, которым удовлетворяют тесты, за прохождение которых ставится 1 балл.
Помимо баллов за решение задач, командам начисляется штрафное время. За каждую задачу штрафное время определяется следующим образом:
Например, если на 1-й минуте команда послала программу, которая набрала 0 баллов, то штрафное время равно 0. Пусть на 2-й минуте команда послала решение, которое набрало 1 балл, тогда команда имеет за эту задачу 1 балл и штрафное время, равное 22 минутам (2 минуты от начала тура + 20 штрафных минут). Если на 3-й минуте команда сдала решение задачи на 2 балла, то результат по этой задаче у команды - 2 балла, а штрафное время равно 43 минуты (3 минуты от начала тура + 2*20 минут за 2 прдыдущие попытки).
Баллы и штрафное время, полученное командой по разным задачам, суммируются (получаются суммарные баллы и суммарное штрафное время). Команды ранжируются сначала по баллам, а при равном количестве баллов - по штрафному времени (чем меньше штрафное время, тем выше место команды).
Результат проверки сообщается команде в следующем виде. Команде сообщается результат проверки задачи, количество набранных баллов, а в некоторых случаях - и номер первого непрошедшего теста (если команда получила сообщение "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. Ненулевой код возврата указан явно |
В течение первых 4-х часов тура участники могут видеть текущие результаты всех команд. За час до конца тура результаты в общей таблице перестанут обновляться, о чем участникам будет сообщено. Однако ответы на посланные на проверку решения по-прежнему будут приходить и полученные ими баллы будут учитываться в окончательных результатах олимпиады.
Во время тура участники могут общаться только с членами своей команды, представителями жюри и дежурными по аудиториям.
За нарушение правил олимпиады команда может быть дисквалифицирована.
Жюри обладает исключительным правом определения правильности прохождения тестов, выставления оценок, определения победителей и дисквалификации участников. Жюри разбирает вопросы, возникающие в результате непредвиденных событий и обстоятельств. Решения жюри окончательны и обжалованию не подлежат. Апелляция не проводится.
Параллельно с очной олимпиадой будет проведена ее интернет-трансляция. То есть на нашем сайте будут выложены условия задач и будет предоставлена возможность сдавать их решения. Решения будут проверяться на тех же тестах, что и у участников командной олимпиады и оцениваться по тем же правилам. Принять участие в интернет-трансляции могут все желающие (школьники из других городов, студенты, учителя). Предварительной регистрации для участия в интернет-трансляции не требуется. Победители интернет-трансляции награждаться не будут. Время начала интернет-трансляции будет объявлено особо.