Первый день: как видите, многие финалисты со своими ноутбуками
В эту пятницу закончился Всероссийский Открытый Чемпионат по программированию, где нужно сначала решать задачи, а потом «взламывать» решения других участников.
Кто и откуда приехал?
Участвовало 3500 программистов со всей России, из стран СНГ и совсем немного — из других стран. К первому туру было отобрано 2000 участников, ко второму — 400, а в финал в Москве вышло 50 человек. Уровень в этом году был явно выше чем в прошлом: либо сказались тренировки и то, что турнир набирает известность, либо то, что в игру включились гости из других стран. Приезжали участники финалов прошлых лет.
В финал попало 16 москвичей, 14 петербуржцев, по двое жителей Екатеринбурга, Нижнего Новгорода, Саратова, один участник приехал из Новосибирска. Также в финал вышли по трое из Беларуси, Польши, Украины и даже один человек из Японии. По правилам турнира мы оплачивали дорогу всем, кроме жителей Польши и Японии, а проживание оплатили каждому участнику.
Средний возраст участников — около 24 лет. Были студенты и аспиранты: задания были достаточно сложные. Уровень игроков был очень высок: за всё время турниров по программированию Codeforces (различного уровня) первое место по мировому рейтингу принадлежит победителю чемпионата Геннадию Короткевичу (ник на CF — tourist, про него ниже), а второе — как раз нашему гостю из Японии (rng_58).
Увы, девушки в этот раз финал не прошли, хотя это случалось пару раз в прошлые годы.
Кто победил?
Геннадий Короткевич (Гомель, Беларусь, студент петербургского ИТМО), он забрал домой 100.000 рублей. Второе и третье места — Егор Куликов и Евгений Капун (Россия). Полные результаты есть тут.
Победитель
У Makoto Soejima из Японии был очень напряженный график: вылет из Шереметьево стоял на 8 вечера, а закончил программировать он в 16:30. В сопровождение ему дали двух гайдзинских девушек-промоутеров, чтобы они его довезли, помогли, распечатали посадочные талоны и прочее, посадили на метро и проследили, чтобы он добрался до аэроэкспресса, который отправлялся буквально через час после окончания турнира. Дело в том, что с английским у него не очень хорошо, но в Россию он приезжает уже 4-й раз ради программирования. Итоги он узнавал уже в Японии: пришел он на 5 месте: его решение задачи «А» провалилось на финальном тестировании.
Задания финала
Заданий финала было всего пять. Вот они. Алгоритм решений можно посмотреть здесь.
Сюрприз этого года
У нас есть традиция: каждый финал Всероссийского Открытого Чемпионата по программированию начинается с мини-соревнования, своего рода сюрприза от КРОК. Оно необязательное для участия, но приносит массу удовольствия и опыта, плюс дарим небольшой приятный приз и кубок. В этом году надо было запрограммировать стратегию управления хоккейными игроками.
В каждой команде было два полевых игрока и один вратарь. Вратарь управляется системой, а полевые игроки – написанной стратегией. То есть, каждый участник писал стратегию для двух игроков и играл против другого участника. Задача была написать такой алгоритм, чтобы команда наилучшим образом защищала свои ворота и атаковала ворота противника. Была возможность направить шайбу в ворота и отобрать шайбу, ударив игрока клюшкой, например.
Зачет индивидуальный, один участник играет за одну команду и программирует двух хоккеистов. Игра была по турнирной схеме. Каждая команда сыграла два матча, по итогом которых первые 16 проходили во второй круг. После одной восьмой финала был четвертьфинал, полуфинал и финальная серия, где осталось 4 участника. Они играли по три матча, то есть каждый сыграл с каждым. Кто больше забил и меньше пропустил, тот выиграл.
Сначала в течение 4 часов все писали алгоритм, а потом в общем зале мы устроили турнир – выводили на экран игры участников, и было видно, кто как играет, кто как забивает и т.д. В течение часа все, не отрываясь, смотрели матчи: было весело – все орали, болели и так далее. Победил тоже Геннадий (который выиграл финал чемпионата).
Как всё проходило?
В первый день мы им устроили завтрак в столовой КРОК – участники пришли рано, часам к 9. Участники неспешно позавтракали, настроились на игру. В 13 часов мы произнесли речь организаторов, все поднялись в компьютерный класс, и в примерно 13:45 начался игровой раунд на 4 часа. После этого — ужин у нас в столовой. Для желающих в это же время провели экскурсию в защищённом аутсорсинговом ЦОДе КРОК (где, увы, нельзя фотографировать из-за требований безопасности компаний-заказчиков). Потом провели награждение по итогам игрового раунда. Еще хотели в первый день съездить всем вместе в боулинг. Однако набралось всего пять человек, из которых в итоге только один после экскурсии был готов реально играть – все устали, похоже.
Во второй день пришли позже, выспавшись, примерно к 11 утра. После перекуса началось, собственно, соревнование. Финальный тур проходил по стандартным правилам Codeforces и занял два с половиной часа. После него участники пообедали и стали ждать результатов. Завершилось все часов в 7 после награждения. Многие потом остались в столовой играть в настольные игры (часов до 8 сидели), в крокодила или типа того, я не совсем понял. Кто-то пошел смотреть офис, благо у нас много интересного.
Как в целом? Будет ещё такой турнир?
В целом – прошло всё очень хорошо. Двумя словами турнир описал Дмитрий Матов из Саратова:
«Я принимаю участие в Чемпионате КРОК уже во второй раз. Не так много существует таких соревнований в России — по пальцам можно пересчитать те компании, которые таким образом поддерживают спортивное программирование.»
Да, в следующем году будет ещё один большой турнир по программированию. Плюс мы регулярно проводим разные конкурсы – например, в этом году была олимпиада по системному администрированию, сейчас идет конкурс летающих роботов, будет ещё пара очень интересных событий, про которые пока не буду рассказывать.
Если не хотите пропустить – подписывайтесь на корпоративный блог КРОК на Хабре, мы и дальше планируем рассказывать про самое интересное и публиковать анонсы крупных событий.
Автор: glamcoder