СКБ Контур

skbkontur


Блог компании СКБ Контур


Previous Entry Share Next Entry
Как УрГУ и СКБ Контур покоряли Америку:
СКБ Контур
skbkontur
или о чем думали тренеры в горячей ванне за 1.5 часа до завершения контеста ACM
Алексей Самсонов, тренер команды УрГУ, получившей бронзу на чемпионате мира по программированию ACM ICPC, вспоминает о том, КАК это было

Предисловие


Ноябрь 2010 года, в Санкт-Петербурге холодно и дождливо. В Аничковом дворце проходит полуфинал чемпионата мира по программированию ACM ICPC. Команда УрГУ Lynx (Денис Дублённых, Евгений Курпилянский, Михаил Рубинчик), изрядно поиграв на нервах тренеров, сдаёт в последние 15 минут соревнования две задачи и занимает итоговое 10 место. Это значит, что УрГУ седьмой раз подряд пробивается в финал чемпионата (что удавалось только Москве и Питеру). Впереди у ребят месяцы тренировок перед главным соревнованием – изучение ещё более изощрённых алгоритмов, новых структур данных, отработка командной тактики. Чемпионат должен был пройти в конце февраля в Египте, однако революция внесла свои коррективы, и из Египта, где жарко, душно и растут пальмы, финал перенесли в Орландо (штат Флорида), где жарко, душно и растут пальмы.


Вечером 25 мая в Кольцово собралась делегация УрГУ, уже прекратившего своё существование. Помимо самой команды покорять Америку отправился декан мат-меха Магаз Оразкимович Асанов, а так же «тренерский штаб», на этот раз, целиком составленный из сотрудников СКБ Контур – Алексей Самсонов, Александр Ипатов и Игорь Чевдарь. Все трое участвовали в финалах в прошлые годы и норовили поделиться с «молодёжью» опытом. Алексей и Александр составили десятки задач для соревнований, проводимых в УрГУ и на сайте Timus Online Judge, Игорь же успел поучить Женю Курпилянского программировать, пока тот ещё учился в СУНЦ. На момент финала Денис Дублённых также освоился в роли разработчика Контура. Львиную долю тренировок команда Lynx проводила по вечерам, на четвёртом этаже офиса на Народной Воли.

Золотое правило – «перед соревнованием говори о чём угодно, но только не о соревновании» - выполнять было трудно. Конечно, Денис и Женя достигли в спортивном программировании значительных высот, а в 2010 году в Китае заняли 13 место и получили бронзу. Но их бывший однокомандник, Иван Бурмистров, завершил свою карьеру в ACM ICPC, сосредоточившись на карьере в Контуре, да и на прошлогоднем финале было не просто везение, а, по словам Магаза Оразкимовича, «пруха». На тренировках ребята выступали пристойно, но не блестяще.

Прибытие. Три дня до соревнования

Всего три перелёта, и делегация УрГУ идёт поздно ночью по горячему асфальту Орландо, в поисках такси. После 20-минутной поездки до отеля стало ясно, что на финале болеть будут все в прямом и переносном смысле – температура в машинах и помещениях градусов на 20 ниже уличной, а кондиционеры дуют сильно и не отключаются персоналом принципиально.
Тренер в небольшом холле перед большим залом
Тренер в небольшом холле перед большим залом

Команда Lynx и её тренер в центре Орландо
Команда Lynx и её тренер в центре Орландо

Весь день 27 мая гигантский пятизвёздочный отель в курортном городке наполнялся сотнями программистов со всего мира – всего в отборочных стадиях участвовало около 10000 команд, и только 105 лучших попали на финал. Команда УрГУ успела не только отоспаться, но и преодолеть пешком огромное расстояние – обойти первый этаж отеля, воочию оценив гигантоманию американского юга. Центр Орландо оказался совсем небольшим районом, с невысокими небоскрёбами, узкими чистыми улочками, пальмами и чёрными лебедями, гуляющими прямо по газонам. Город в тихий час между окончанием рабочего дня и открытием ночных клубов казался совершенно вымершим. Отчаявшись сфотографироваться на фоне небоскрёбов, мы отправились обратно в отель на регистрацию, получать свою «спортивную форму» - зелёные футболки с надписью “Ural SU”.

Открытие. Два дня до соревнования

Рано утром организаторы из IBM отвезли всех в парк развлечений Sea World и поздравили со 100-летием IBM. Дальше, на правах рекламы, последовал рассказ об истории и научных прорывах IBM, плавно перешедший в шоу касаток. До обеда команда нарушила ещё одно золотое правило – «не набираться ярких впечатлений до соревнования» - и убедилась, что «русские горки» в Америке – это намного страшнее и восхитительнее «американских горок» здесь.
Вечером в огромном зале прошло, как всегда, скучнейшее открытие соревнований. Тех, кто дождался конца открытия, ждал приз – можно было сфотографироваться с кубком чемпионов мира. Мы решили, что это плохая примета, и предпочли кубку директора чемпионата и флаг России:

Слева направо: Михаил Рубинчик, Денис Дублённых, Игорь Чевдарь, Александр Ипатов, директор соревнований Билл Паучер, Алексей Самсонов, Магаз Асанов, Евгений Курпилянский.
Слева направо: Михаил Рубинчик, Денис Дублённых, Игорь Чевдарь, Александр Ипатов, директор соревнований Билл Паучер, Алексей Самсонов, Магаз Асанов, Евгений Курпилянский.

Ребята перешли на американское время, неплохо отдохнули и рвались в бой. Однако на следующий день их ждала только репетиция финала – целых два «пробных тура».

Пробный тур. Один день до соревнования

Соревнование (контест) длится 300 минут. Команде из трёх человек выдаётся один компьютер и комплект из 10-12 задач. Выигрывает тот, кто решил больше всех задач, причём сделал это как можно быстрее. «Решить» задачу – значит «написать программу, которая работает верно на всех входных данных жюри. Тестирование производится автоматически прямо во время соревнования – если команда отправит неверное решение, ей об этом сообщат, и у неё время исправить ошибку и попытаться сдать исправленную версию.

Соревнование настолько скоротечное, что каждая секунда и каждая мелочь могут сыграть решающую роль. На «пробном туре» организаторы дают участникам возможность ознакомиться с рабочими местами, компьютерами и программным обеспечением, чтобы на основном туре не отвлекаться на такие мелочи. Ну а пока команды радостно сдают в тестирующую систему решения учебных задач, тренеры и руководители гуляют по залу, желают друг другу удачи и, конечно, фотографируются.

Команда УрГУ Lynx, её тренер, декан мат-меха М. О. Асанов на своём рабочем месте.
Команда УрГУ Lynx, её тренер, декан мат-меха М. О. Асанов на своём рабочем месте.

Вечером члены команды делали вид, что нисколько не переживают перед контестом и расслаблялись в бассейне, а тренерский штаб прятался в номере от жары, вспоминал былые победы и поражения, говорил о том, как сложилась судьба бывших олимпиадников и обсуждал шансы других русских команд. Ребята из Lynx знали, что делать на контесте, и «накачивать» их рекомендациями в последний вечер явно не стоило. К делегации присоединился Евгений Штыков – самый первый тренер команд УрГУ, в прошлом сотрудник СКБ Контур, а сейчас – бостонского офиса Google. Евгений подготовился к поддержке лучше всех – и помимо форменной зелёной футболки пообещал надеть завтра олимпийскую форму сборной России.

Финал чемпионата мира


Старт – и 300 человек углубились в чтение условий задач. Прошло 11 минут – и команда СПбГУ сдала первую задачу, а уже через час у лидеров соревнований было 3 решённых задачи. К нам подходили тренеры других русских команд и спрашивали: «Что случилось с вашими ребятами? Что не так? Почему у них до сих пор нет ни одной решённой задачи?» Мы же говорили, что так и надо, у команды Lynx явно есть хитрый план, они пишут решения всех задач одновременно и вот-вот нас порадуют. Главное, что мы сами в это верили, и, как оказалось, не зря. За второй час соревнований Lynx сдают четыре задачи подряд, и стремительно взлетают на седьмое место в таблице – никогда команды УрГУ не поднимались так высоко. Вот тогда мы занервничали – хватит ли ребят надолго. На третьем часу они сдали пятую задачу (у всех лидеров было по 5-6 задач). Ну а потом – пауза. Мы можем видеть только таблицу результатов, а из неё видно, что наши ребята не шлют новые решения уже 10 минут, 20 минут, полчаса, час… Стало понятно, что нашей команде для попадания в 12 лучших (и получения медалей) нужно сдать не меньше 7 задач.

Панорама места проведения соревнований
Панорама места проведения соревнований


Тренерский штаб не выдержал напряжения, и за полтора часа до конца контеста ушёл в бассейн. Повлиять на команду было уже нельзя. Мы целый час сидели в горячей ванне и мечтали как, вернувшись в зал проведения соревнований, увидим на табло, что команда Lynx вновь начала сдавать задачи. Скрестив пальцы, мы вернулись за полчаса до конца и увидели, что Lynx даже не сделали ни одной попытки, а в бинокль разглядели, что ребята отчаянно машут руками, кругами ходят вокруг компьютера, вчитываясь в распечатки (видимо, неправильных) решений. Провал? Таблица результатов была «заморожена» - зрители могли видеть только факт посылки решения командой, но не результат этой посылки («принята ли задача»). И вот, на последних минутах команду прорвало – они начали слать решения одно за другим сразу по двум задачам. Тренеры понимали, что это значит – «посылки отчаяния», когда команда старается под занавес контеста внести случайные изменения и «продавить» неправильное решение. И вот – гонг, контест завершён. Ещё 10 минут нас не пускают в зал проведения контеста. Потом мы бежим к ребятам и они говорят – «Семь!». Да, они в последние минуты хладнокровно отладили и сдали сразу две задачи. Сразу же идёт подведение итогов, и УрГУ Lynx взлетают наверх, оказавшись на итоговом 11-м месте и получив бронзовые медали чемпионата мира по программированию ACM ICPC.

В тот же день мы постарались осознать, что произошло – да, это лучшее место команд УрГУ за все годы выступления на финале. Команда Lynx сыграла в своём стиле, медленно сдавая задачи, но успев добить под занавес контеста сразу две задачи. У чемпионов мира 8 задач – всего лишь на одну больше, а уже у третьего места – те же семь. Позади остались такие зубры, как СПбГУ ИТМО – чемпионы России, уверенно разгромившие всех на полуфинале, или команда Варшавы, показывавшая на тренировочных контестах феноменальные результаты, выше чем у всех остальных русских команд. Чемпионом мира стали китайцы из университета Чжэцзян, на втором месте – команда университета в Мичигане, за которую также выступал китаец-легионер. Команда СПбГУ взяла золото, Нижнего Новгорода и Саратова – серебро, МГУ – бронзу.

Бронзовые медали чемпионата мира по программированию ACM ICPC

Торжественная часть была организована сказочно – заключительный ужин прошёл в зале, стилизованном под обеденный зал Хогвартса, а ночью всех участников отвезли в открытый специально для участников ACM ICPC парк развлечений Universal с ещё более сумасшедшими «русскими горками» и другими аттракционами.

Отъезд. Один год до соревнования

Мы остались в Орландо ещё на день, и успели съездить на Атлантический океан. Под шум волн говорили о том, чего мы всё-таки достигли, и что будет дальше, после такого рекорда. УрГУ уже не существует, а «смена поколений» пугает ещё сильнее – Денис и Женя заканчивают свою карьеру в соревнованиях ACM ICPC, а молодёжи до их уровня как до Луны. Но у них есть желание. У Миши есть команда на следующий год. В УрГУ будут проводиться соревнования, будут и тренировки. А значит, можно ставить цели. Через год финал будет в Варшаве. Может, поболеем?

?

Log in

No account? Create an account