Привет сообществу 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).
Спасибо за внимание)