Support us

Egor против tourist: как топ-программисты разыграли финал «Яндекс.Алгоритма» в Минске

Оставить комментарий
Egor против tourist: как топ-программисты разыграли финал «Яндекс.Алгоритма» в Минске

Пятый международный кубок программистов «Яндекс.Алгоритм» прошёл в Минске в минувшую пятницу. Многие сильнейшие представители спортивного программирования сразились за звание лучшего в своём ремесле и призовой фонд в размере 8 тысяч долларов. О том, как это было, — в репортаже dev.by.

Читать далее

Финал «Яндекс.Алгоритма» в разгаре. Фото: «Яндекс».

В финале — только парни

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

Соревнование носит исключительно мужской характер, среди финалистов — ни одной представительницы прекрасного пола (в отборочных турах, правда, девушки участвовали).

Участники минского финала прошли жёсткий отбор, который включал в себя несколько предварительных раундов. На первом этапе с задачами справились 2 тысячи человек, что очень порадовало организаторов. В ходе последующих отсеялись все кроме 25 сильнейших.

Кстати, в этом году число зарегистрировавшихся на «Яндекс.Алгоритм» бьёт все рекорды — 4,5 тыс человек.

В итоге в Минск прибыли программисты из России и Польши, остальные — из Китая, Японии, США, Швейцарии, Австралии, Германии — соревнуются онлайн.

Также в конференц-зале Национальной библиотеки наравне с матёрыми программистами выступает школьная сборная Беларуси по информатике. Ребята, конечно, не претендуют на денежный приз — возрастное ограничение 18+ — но проверить свои силы и потренироваться перед олимпиадами тоже полезно.

Риск и уверенность в себе поощряются

Формат «Яндекс.Алгоритма» последние три года остаётся практически неизменным: за 100 минут нужно решить 6 задач (плюс одна тестовая для разминки) с минимальным количеством штрафных баллов. Они начисляются за отправку решения «в открытую», то есть с возможностью сразу узнать ответ и исправить его в случае ошибки.

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

Первая посылка (так в «Яндексе» называют попытку решить задачу) на 11-ой минуте соревнований приходит от конкурсанта из России под «никнеймом» eatmore.

«Мы видим, насколько выгодно играть «втёмную», — замечает представитель «Яндекса» Лидия Перовская, — сразу минус 75 штрафных очков».

Аналогично спустя минуту поступает Egor — 31-летний россиянин Егор Куликов, в активе которого победы в Google Code Jam и TopCoder. За ним спешит закадычный противник — tourist, 21-летний белорусский фаворит Геннадий Короткевич, выигравший, кажется, уже всё, что можно. Последний делает это «в открытую», поэтому мы видим в таблице рейтингов, что задача решена правильно. За последующие тридцать минут его прозвище, известное каждому в мире спортивного программирования, перемещается со строчки на строчку. Похоже, сегодня его основной конкурент Egor, и он не собирается уступать первенство.

Но о выводах говорить рано, так как в «Яндекс.Алгоритме» действует правило, согласно которому, чем больше людей решит задачу, тем меньше баллов за неё начисляется. Поэтому итоговый рейтинг выстроится только после подсчёта результатов.

Геннадий Короткевич. Фото: Диана Васильева, dev.by.

Люстра для вдохновения

Тем временем в зале происходит что-то невероятное. Гробовая тишина проминается под тяжестью мыслей, витающих в воздухе. Наверное, с такими же сосредоточенными лицами учёные делали великие открытия.

Кто-то потирает свой лоб, пощипывает усы или грызёт карандаш, кто-то потягивается, как на утренней зарядке, или любуется люстрой, висящей над головой, ожидая, что снизойдёт озарение. Так же неожиданно, как яблоко у Ньютона, кто-то восклицает «Пффф», «Мгг», а кто-то просто разводит руками и пожимает плечами.

И только представитель белорусской стороны непоколебим в своей идеальной осанке и минимальной мимике. Он вертит карандаш в руке, а потом резко бросает его и начинает «бешено» стучать по клавиатуре, даже не опуская на неё глаз. Мысль она такая — не успеешь записать — улетит.

В этом году все ребята работают на собственных компьютерах, поэтому могут пользоваться своими библиотеками готовых решений, если таковые имеются. Это даже приветствуется. Кстати, техника у многих финалистов «Яндекс.Алгоритма» — трофейная — награда за победы в различных соревнованиях. Это относится и к белорусскому умнику Геннадию — свой ноутбук HP студент СПбГУ ИТМО завоевал на чемпионате VK Cup.

Никаких банальных решений

Над составлением задач потрудились многие сотрудники «Яндекса», в том числе и ребята из минского офиса компании.

«Мы постарались составить задачи таким образом, чтобы их нельзя было решить стандартным способом. Любое решение нужно адаптировать, сочетать в нём несколько алгоритмов либо вообще придумывать что-то своё, — поясняет Лидия Перовская. — И кроме правильности кода большое значение имеет его эффективность. Если код будет выполнять свою функцию за три секунды, а нужно за одну, то он не будет принят».

А вот в выборе языка программирования никаких ограничений для участников нет. Однако профессионалы, как правило, используют С, С++, Java, хотя можно и Pascal, и Python, замечает представитель «Яндекса».

Родные стены не помогли

Тем временем идёт подсчёт результатов и в финальной таблице вырисовывается новая картина. Ведущая объявляет «ники» участников и вердикт по задачам, отправленным «втёмную». После каждой зелёной галочки, появившейся в таблице, программисты аплодируют.

Имена участников перескакивают с места на место, и только Егор Куликов держит свои позиции. В итоге бывший сотрудник «Яндекса» одерживает победу в соревновании с четырьмя правильными ответами и минимальным количеством штрафа (59 очков). Его награда — 300 тысяч российских рублей ($4,5 тысячи).

Егор Куликов. Фото: «Яндекс».

Второе место занял швейцарец Никола Йокич, экс-финалист чемпионата мира по программированию ACM ICPC, а третье — японец Макото Соэдзима, дважды завоевывавший золотые медали на этом чемпионате.

Белорусу Геннадию Короткевичу, которому с 2013 по 2015 годы не было равных в финалах «Яндекс.Алгоритма», родные стены не помогли: в итоговой табели о рангах он занял шестую строчку, поспешив обсудить решения задач с чемпионом.

«Задачи были непростые, но для финала это нормально. На мой взгляд, оптимальное соотношение сложности задач и времени на их решение. У меня было четыре правильных ответа из шести. «Втёмную» отправил три задачи, из них прошли две», — сказал в комментарии dev.by Егор Куликов.

Достойными конкурентами, с которыми было интересно посоревноваться, он назвал Короткевича и россиянина Евгения Капуна (eatmore), а из тех, кто программировал онлайн, — Макото Соэдзиму.

Свой приз Егор заработал, программируя на языке Java. Признался, что после победы чувствует себя немного странно: «Руки после вчерашнего картинга болят».

Все желающие могут попробовать свои силы в решении задач с «Яндекс.Алгоритма»-2016 на официальной сайте кубка.

Место солидарности беларусского ИТ-комьюнити

Далучайся!

Читайте также
Камеры с распознаванием лиц установят на Зыбицкой, Октябрьской и перед подъездами
Камеры с распознаванием лиц установят на Зыбицкой, Октябрьской и перед подъездами
Камеры с распознаванием лиц установят на Зыбицкой, Октябрьской и перед подъездами
4 комментария
Снять квартиру стало проще? Как айтишники ищут жильё в Минске после 24.02
Снять квартиру стало проще? Как айтишники ищут жильё в Минске после 24.02
Снять квартиру стало проще? Как айтишники ищут жильё в Минске после 24.02
2 комментария
Минск упал на 82 строчки в глобальном рейтинге стартап-экосистем
Минск упал на 82 строчки в глобальном рейтинге стартап-экосистем
Минск упал на 82 строчки в глобальном рейтинге стартап-экосистем
4 комментария
«Белтелеком» хочет установить видеонаблюдение в минских многоэтажках. По 2 рубля с квартиры
«Белтелеком» хочет установить видеонаблюдение в минских многоэтажках. По 2 рубля с квартиры
«Белтелеком» хочет установить видеонаблюдение в минских многоэтажках. По 2 рубля с квартиры
24 комментария

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.