Чемпионат ICPC (International Collegiate Programming Contest) существует уже более 40 лет. Это самое престижное и большое событие в студенческом программировании, количество участников которого растет с каждым годом. К примеру, в прошлом сезоне в очных этапах приняли участие более 50000 студентов из 3000 университетов со всего мира.

В это воскресенье полуфинал ICPC проходил одновременно на четырех площадках в Петербурге, Барнауле, Тбилиси и Алматы. 318 команд должны были продемонстрировать высокие программистские навыки и способности к командной игре при решении задач.

Победители в контеста ICPC получают не только престижную награду и авторитет в IT-сообществе, но и получают джоб-офферыот самых крупных технологических компаний. Например, JetBrains и Huawei выступают партнерами олимпиады и следят за результатами.

Правила олимпиады

Каждая команда должна состоять из трех студентов не старше 25 лет. В течение пяти часов им предстоит решить от восьми до тринадцати алгоритмических задач, которые могут потенциально встретиться профессиональным программистам в работе. Решением считается программа, написанная на одном из четырех языков программирования: С++, Java, Python и Kotlin.

Полуфинал ICPС
Полуфинал ICPС

Отличительная черта чемпионата в том, что на одну команду дается лишь один компьютер без доступа к Интернету или другой внешней сети. Для достижения высоких результатов участники должны работать слаженно, не тратя время на споры. За каждую решенную задачу начисляется штрафное время (время, ушедшее на решение задачи с начала тура). За каждую неверную попытку сдать задачу команда также получает штраф в 20 баллов.

Полуфинал в Петербурге

2 декабря 130 студенческих команд боролись в Университете ИТМО за кубок финальных соревнований Северной Евразии NEERC и путевку в финал ICPC. Среди участников были студенты из России, Латвии, Беларуси и Литвы.

В этом году их приехали поддержать заместитель исполнительного директора ICPC, профессор Университета Бейлор Майкл Донахью и исполнительный директор ICPC, профессор Университета Бейлор и член Ассоциации вычислительной техники Уильям Паучер. В приветственной речи на открытии полуфинала последний прочитал студентам любимую цитату Аристотеля.

«Совершенство это искусство, приобретенное путем тренировок и привыкания, цитирует Паучер. Мы действуем правильно не потому, что у нас есть добродетель или превосходство, мы ими обладаем потому, что действовали правильно. Мы то, что мы постоянно делаем. Значит, совершенство это не действие, а привычка».

По словам исполнительного директора ICPC, дорога к совершенству для студентов-программистов сейчас важна как никогда.

Полуфинал ICPС
Полуфинал ICPС

Непосредственно во время соревнования Майкл Донахью и Уильям Паучер помогали в организации соревнования. Вместе с волонтерами они приносили самым быстрым командам воздушные шарики — символ выполненной задачи, который помогает следить за ходом работы и выделять лидеров.

По словам члена жюри и чемпиона ICPC 2015 года Бориса Минаева, в этом году должна себя хорошо показать команда от МГУ — обладатели кубка прошлогоднего контеста.

«Естественно, есть сильные соперники из Китая и Польши. Их процесс обучения отличается от нашего: они учатся решать слегка измененные задачи и используют свои алгоритмы. Но на финале ICPC важно не столько знание конкретных алгоритмов, сколько умение придумывать общие идеи. А этому просто так не научишься. Это приходит только с опытом и тренировками, лучше всего по пять часов в день. Только так можно набить руку и исключить лишний стресс непосредственно на соревновании», — делится опытом Борис.

Результаты

Абсолютным победителем полуфинала стала команда Moscow SU-3 из МГУ: Владислав Макеев, Григорий Резников и Михаил Ипатов единственные решили 11 задач. Второе и третье место заняли команды Moscow IPT 6 (Андрей Сергунин, Евгений Белых и Илья Степанов) и Moscow IPT 1 (Александр Голованов, Никита Уваров и Максим Мачулы) из МФТИ.

Победители полуфинала ICPC команда Moscow SU 3
Победители полуфинала ICPC команда Moscow SU 3

Серебряные медали получили две команды из Университета ИТМО. В этом году  в составе сборной «первого неклассического» участники, которые еще ни разу не ездили на финал всемирного контеста.

Полный список команд, которые поедут на финальный этап ICPC-2019:

— Moscow SU 3 (Makeev, Reznikov, Ipatov)

— Moscow IPT 6 (Sergunin, Belykh, Stepanov)

— International IT U 1 (Satylkhanov, Baimukanov, Kuanyshbay)

— SPb ITMO University 2 (Poduremennykh, Naumov, Korobkov)

— SPb br of NRU HSE 1 (Ermilov, Fedorov, Labutin)

— U of Latvia 2 (Klevickis, Pretkalnins, Pakalns)

— SPb SU 5 (Grebennikov, Fadeeva, Zavarin)

— Belarusian SU 1 (Lukyanov, Rak, Kim)

— NRU HS of Economics 1 (Sakhabiev, Nikolenko, Gribov)

— Kazakh-British TU 1 (Amanov, Aman, Zhussupov)

— Saratov SU 1 (Androsov, Glazov, Dalabaev)

— Belarusian SUIR 1 (Mosko, Razhkou, Shilyaev)

— Tbilisi IBSU 1 (Ksovreli, Narushvili, Svanidze)

— Northern FU (Dyachkov, Guriev, Asyutchenko)

— Ural FU 6 (Permyakov, Zuev, Mullabaev)

 Команда SPb ITMO University 4
Команда SPb ITMO University 4

Именно эти команды примут участие в финале ICPC, который состоится с 31 марта по 5 апреля 2019 года в Порту, Португалия.