ALEXKIRNAS's blog

By ALEXKIRNAS, 10 years ago, In Russian

Привет сообществу CodeForces!

Я (как и все на КФ) не раз принимал участие в разных турнирах по программирования. Каждый турнир проводится по своим правилам. Немножко погуглив я нашел всего 3 вида турниров: ACM, KIROV, OLYMPIAD.

Поскольку я ещё школьник, то принимаю участие во Всеукраинской олимпиаде по информатике. Она состоит с 4 этапов ( I – школьный, II – региональной, ІІІ – областной, IV – всеукраинский). Я хочу рассказать Вам как у нас, в Винницкой области, проводится ІІІ этап и услышать Ваше мнение о некоторых нюансах олимпиады.

Проводится ІІІ этап на базе Физико-математической гимназии № 17 г. Винница и их не безызвестного сервера (здесь кроме отбора команды области на финал UOI проводяться такые престижне для Украины соревнования как NetOI и «Турнир чемпионов» ).

И так все начинается с того что участникам раздаются условия задач (всего 4 задачи). Каждое условие делится на 4 подпункта:

1 – само условие

2 – формат ввода

3 – формат вывода

4 – примеры

Хочу заметить, что такого пункта как ограничения на время работы и память нету! Ну, если лимит на память не задается явно, но ясно, что он ограничен где-то в районе 32-64 Мб, чего вполне хватает на все задачи, то отсутствие лимита времени — это катастрофа. На самом деле тайм лимит формируется по такому методу: время_решение_авторской_программы_на_тесте * 1,5, то есть если авторское решение отработало на тесте за 0,07 сек то лимит для участников будет 0,07*1,5 = 0,1 сек. Эта система не совершенна поскольку било такое что программа отработала на тесте за 0,1 сек и там стоит ТЛЕ, а на более «тяжёлом» тесте за 1,7 и там ОК. Жури аргументирует применение этого метода тем, что когда участник знает лимит времени, то он не ищет самое оптимальное решение а пробует «просунуть» решение через тайм лимит. Замечу что тайм лимит для всех тестов разный:

Оригинал.

Когда участник написал код решение, он должен отправить его на проверку. И тут ещё одна проблема. Участнику доступно два меню: «Отравить решение на проверку», «Сдать решение на финальную проверку». И так если открыть первое меню и отослать по нему решение, то оно будет скомпилировано и проверено на тестах с условия (то есть это меню служит для проверки правильности формату ввода/вывода и компиляции программы на сервере на этом список функций заканчивается). Если отослать решение по втором меню, то решение будет отослана на системною проверку, а вам прейдет уведомление что решение успешно отправлено на этом все. Отослать решение через такое меню можно ТОЛЬКО ОДИН РАЗ за весь турнир и если Ви уже отослали решение и нашли ошибку, то больше не сможете перепослать решение. Системное тестирование проходит после турнира и узнать правильна идея решения под час турнира НЕВОЗМОЖНО. Баллы начисляются только за пройдённые тесты, за тесты с условия начисляется по 0 балов.

Оригинал.

Самое интересное, что на финале UOI (как и на IOI) решения сразу же после посылки тестируются на полном наборе тестов и в зависимости от количества пройдённых групп получают баллы (то есть по правилам KIROV).

После всего выше сказанного у меня к вам пара вопросов:

  • как называется вид турниров, что проводится у нас (в Винницкой области)

  • рационально ли по таким правилам проводить турниры для школьников

  • как можно заставить жури проводить турнир по правилам KIROV (как и финал UOI).

Спасибо за внимание)

  • Vote: I like it
  • +15
  • Vote: I do not like it