Привет сообществу 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).
Спасибо за внимание)
Ограничения времени там всегда радовали. Пишешь правильное асимптотически решение, а оно не влезает, потому что луна в скорпионе, а день недели чётный и был исполнен неверный шаманский танец для ублажения сервера.
Я с Вами согласен)
Но если учесть все "+" и "-" Винницкого сервера, то плюсов определённо больше:
работает не с файлами, а с консолью
машина для проверки имеет хорошою мощность (3 * 10^8 операций за секунду. Для справки машины на КФ имеют показатель в 4 * 10^8 операций)
проверка не побитовая (можно выводить лишние знаки перевода строки и пробельные символы (чего к сожалению не можно сделать например на e-olimp)).
Этими плюсами сегодня никого не удивишь, но у других областях зачастую одного-двух выше перечисленных пунктов нету.
Ну к минусам можно отнести то что в нас в области никто не умеет что-то изменить в сервере или проверяющей машине (мне рассказывали что все это дело написал какой-то студент и некоторое время поддерживал, но теперь он физически не может это делать), а умеют лишь администрировать.
Насколько я знаю Ви (adamant) знакомы с нашей системой (брали участие в NetOI-2013, NetOI-2012) и условия проведения заочного этапу NetOI очень похожи на 3 этап всеукраинской олимпиады (а очный этап проводится точно в таких же условиях). Мне вот интересно, а какие правили проведения 3 этапа в Вашей области, да и в других областях Украины.
Это преимущество с лихвой компенсируется тем, что лимиты по времени ставят впритык)
Вообще, как я читал на форуме, менять там не столько не могут, сколько не хотят. Тот же GNU C++11 не хотят вводить, сидят на древнем компиляторе. И вообще боятся нововведений :(
Насчёт моей области — второй и третий туры олимпиады проводятся на своей системе, http://yun.zp.ua. Вердикт в этом году выдавался сразу, на каждую задачу давали пять попыток, за каждую неверную попытку был штраф 5%.
По результатам областного этапа лучшие 2*k школьников приглашаются на отборы, где k — квота области на всеукраинской олимпиаде. В этом году квота была совсем маленькой, всего 4 человека. По результатам отборов на всеукр приглашались ребята, показавшие лучший результат в своей параллели, а также лучший среди оставшихся. В двух прошлых годах на отборах была неделя контестов, в этот же раз была неделя лекций, а потом через месяц прошёл один единственный решающий контест.
Как-то так.
На е-олимпе, кстати, есть задачи с чекерами. Так что строгая проверка формата вывода — это скорее принципиальный вопрос.
у нас в школе на некоторых контестах делали ограничения времени точно по авторскому. Это было печально.
особенно когда авторское на паскале, плюсах, а люди на питоне.
вам скорее всего давали, чтобы посмотреть сколько баллов вы сможете заработать на задаче, так как некоторые учителя хотят научить набирать баллы на задаче, а не решать задачу.
Не. Это были контесты по ACM-правилам.
Правила контестов плохие и неудобные, ТЛ это нечто...
Очевидно, всему причина — сама система. Поэтому вариантов два: либо переписать систему, либо перейти на другую систему. "Как можно заставить жюри" — ввиду того, что вот уже сколько лет система не меняется, самый простой способ "заставить жюри" — это самому стать одним из жюри =)
А вообще ... вот когда я сам был школоло, и участвовал в этой же NetOI, никаких косяков не замечал, так как сравнивать ни с чем не мог, ведь больше нигде и не участвовал )
Я и не говорил что система имеет какой-то косяк, но правила проведения ужасные (мне говорили что они похожи на те, по которым проводятся соревнования в Польше).
Мое мнение такое что турниры по ACM-правилам (например на КФ) намного проще пишутся, нежели 3 этап в моей области :(
Вот для школьников лучших правил, чем KIROV, где решения сразу тестируются на полном наборе тестов, и системы провидение турниров e-judge придумать не возможно.
Правила кф, кстати, сильно отличаются от правил АСМ
При чем тут Ejudge?
Он будет оценивать так, как его настроили. Например у нас в Москве на 1 и 2 этапе он работает примерно как сервер из статьи автора.
Второй пункт — абсолютно тоже самое что было на IOI до 2009 года включительно. А потом там решили что умение тестить свои решения никому не нужно, и понеслись full feedback'и.
То что реализовано это неудобно (невозможность перепосылки, два вида сабмитов) — другой вопрос, но никто не мешает засылать решения только в последние 5 минут.
А на финале UOI можно неограниченно требовать фидбеки или ограниченное число раз(как на РОИ)?
Кстати, на РОИ тоже на всех этапах, кроме финала, во время тура не дают результатов.
Не более 60 попыток суммарно.
Кстати, на РОИ тоже на всех этапах, кроме финала, во время тура не дают результатов.
Тогда напрашивается вопрос: "Зачем нужно проводить отборы?". Я так понимаю, что цель отборов — выбрать k лучших для участия в следующем этапе, где k — квота команды, но как можно утверждать, что человек хорошо покажет себя, например, на финале по правилах KIROV, если отбор проводился по правилам, например, ACM?
у нас про это говорили, что не все регионы способны обеспечить проведение олимпиады с фидбеком. Поэтому все должны страдать. Ну я так слышал
у нас про это говорили, что не все регионы способны обеспечить проведение олимпиады с фидбеком. Поэтому все должны страдать.
Я думаю это был ответ на все мои вопросы) Похоже что в ближайшие 10 лет ничего не изменится :( Так что нужно будет нам всем исполнять верные шаманские танцы для ублажения серверов да над самими исходниками решений шаманить :D
Но вот ещё интересный факт в Украине есть сервер ( ejudge.sumdu.edu.ua ) на которым проводится финал UOI и в России сайт ( informatics.mccme.ru ) которые есть поддержка фидбек. Вот в Украине сервер 80% времени простаивает, так вопрос, почему бы полуфинал не проводить на этих платформах? Я уверен, что все 24 областей Украины и АРК проводят отборы в разное время, поэтому конфликтов и не должно быть. Или например угодить с администрацией CodeForces и тут провести раунд (это конечно будет нагрузка на сервер – провести 25 раундов по 200-300 участников или один с 7500, но если учесть что активность самих участников будет намного меньше нежели на обычном раунде, то сервер должен выдержать). Ну если кратко: «возможностей провести нормальный раунд много, а вот желания в жури очень мало (если оно вообще есть)».
Кстати, насколько мне известно, часть областей пишет третий этап централизованно, на этом самом сервере. Кажется, Днепропетровская в их числе, например.