Российские студенты выиграли чемпионат мира по программированию ICPC. Российские студенты выиграли чемпионат мира по программированию И кто наши герои

Наши герои: Иван Белоногов, Илья Збань и Владимир Смыкалов – чемпионы ACM ICPC
/ Фото icpcnews icpcnews /

Результаты

«Именно программисты дадут ответы на многие вызовы будущего»

– Президент ACM Вики Линн Хэнсон


Итак, в этом году во всех этапах чемпионата участвовали 46 381 человек из 2 948 университетов. К соревнованиям присоединились 103 страны с шести континентов. На решение финальной серии задач у участников последнего этапа было не более 5 часов – в итоге команда Университета ИТМО одержала абсолютную победу, решив наибольшее количество проблем (10 из 12 возможных) с наименьшим числом попыток и потратив на это меньше всего времени.

Помимо чемпионского титула в олимпиаде разыгрываются золотые, серебряные и бронзовые медали (ими награждаются первые 12 команд). «Золото» помимо Университета ИТМО в этом году завоевали команды Варшавского университета, Сеульского университета и СПбГУ. Помимо питерских команд в числе медалистов из России оказались команды МФТИ (серебро) и УрФУ (бронза).

Всего от России в чемпионате приняли участие 13 команд: 3 из Санкт-Петербурга, еще 3 – из Москвы, по одной команде из Новосибирска, Саратова, Томска, Екатеринбурга, Самары, Перми и Петрозаводска.

Помимо команды Варшавского университета в числе наших наиболее грозных зарубежных соперников назывались команды из Китая, Швеции (KTH) и США (MIT). В итоге студенты китайских вузов (университет Синьхуа, Пекинский и Фуданский университеты) заняли с 6 по 8-е места соответственно (серебро). Королевский Технологический Институт (Швеция) завоевал бронзу (11-е место), а MIT оказался только на двадцатой позиции (все результаты финалистов чемпионата можно посмотреть ).

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

Проблемы

Кстати, интрига в чемпионате сохранялась до самого финала – как признаются сами победители и их тренер, Андрей Станкевич, соревноваться команде Университета ИТМО пришлось с очень сильными соперниками, и до последнего не было понятно, успеет ли кто-то из них решить 11-ю проблему. Как показали итоги соревнования, это не удалось ни одной команде.

Студенты из Школы горного дела и технологий университета Южной Дакоты (именно в Южной Дакоте проходил в этом году финал чемпионата) в своем интервью местному телеканалу отметили , что задачи (они же «проблемы») были на порядок сложнее чем те, по которым готовились они сами. Эта команда решила всего 2 проблемы.

Студенты также посетовали на то, что методы обучения спортивному программированию в их университете разительно отличаются от тех, которые используют, в частности, российские команды. За рубежом российскую школу программирования оценивают действительно высоко – так, в прошлом году студенты Университета ИТМО были признаны лучшими программистами в мире по версии платформы Hacker Rank.

Возвращаясь к проблемам: наиболее популярными языками при их решении стали C++ и Java. Новшеством этого года стала возможность решать задачи на Python – как отмечается, это серьезный шаг для чемпионата (с точки зрения организационных процедур), но не для самих участников – решений на этом языке оказалось не так уж много.

Кстати, все проблемы, над которыми бились финалисты чемпионата, можно попытаться решить самостоятельно – текст задач есть в открытом доступе . Кроме того, судьи финала чемпионата подготовили примерные варианты решений . Между прочим, единственной нерешенной во время финала чемпионата проблемой стала проблема под названием Scenery (Problem H).

Сегодня, в 18 часов по московскому времени, в американском Rapid City начнется финал самого престижного мирового соревнования для программистов – ACM ICPC. Приглашаем всех желающих увидеть это событие в прямом эфире (прямая трансляция начнется уже в 17 часов по Москве) и поддержать команду Университета ИТМО – одного из фаворитов чемпионата. О том, как команды со всего мира готовились к финалу, а также о прогнозах на победу расскажем ниже.

Немного фактов

  • Спортивное программирование ежегодно собирает больше участников, чем Олимпийские игры – в этом году в соревнованиях ACM ICPC принимают участие 46 381 человек из 103 стран, в то время как в летней Олимпиаде в Рио на всех этапах участвовали 11 544 спортсменов (в 4 раза меньше).
  • Интерес к соревнованиям растет с каждым годом. Как отмечает Владимир Парфенов, директор регионального полуфинала чемпионата ACM ICPC в России и странах Северо-Восточной Европы, декан факультета информационных технологий и программирования Университета ИТМО, в 2004 году в мировом первенстве ACM ICPC принимало участие 8 000 программистов (включая региональные отборочные этапы), в 2016 – уже свыше 40 000.
  • За российскими вузами уже давно закрепилось положение лидеров чемпионата – наши команды 11 раз становились абсолютными чемпионами ACM ICPC. Из них 6 раз победу в чемпионате одерживали команды Университета ИТМО – и это мировой рекорд (в 2017 году Университет ИТМО борется за звание семикратного чемпиона мира).
  • Число участников из России остается высоким уже много лет: в 2004 году во всех этапах чемпионата приняли участие 2 100 программистов из России, к 2016 их число увеличилось уже до 3 400.
  • Формат чемпионата ACM ICPC называют не только одним из наиболее удачных, но и одним из самых сложных: каждая команда использует только один компьютер и в сжатые сроки должна решить как можно больше задач. Из-за этого на чемпионате предъявляются повышенные требования не только к креативности, знанию алгоритмов и «матчасти», но и к умению распределять роли и работать в команде.
Я бы сказал, что преуспеть в соревнованиях до определённого уровня, имея только знания из первой категории [знание математики, алгоритмов, языка программирования], можно. Тем не менее, знания из второй категории [понимание правильной тактики, навыки грамотного распределения ресурсов] сильно упрощают жизнь и работают как катализатор. Как и в любом спорте: есть физические навыки, а есть знание техники, психология, и так далее. Преуспеть только за счёт первого можно, но второе будет работать катализатором

– Павел Кротков, выпускник факультета информационных технологий и программирования Университета ИТМО, участник и организатор множества контестов по программированию в России и за рубежом, включая ACM ICPC NEERC

  • Кстати, начиная с октября прошлого года Павел с коллегами – Максимом Буздаловым, чемпионом ACM ICPC 2009 года и Дарьей Яковлевой, в 2016 году вошедшей в десятку на международном соревновании по программированию Google Code Jam for Women – ведут курс «Как побеждать в соревнованиях по программированию: секреты чемпионов », который Университет ИТМО запустил на платформе edX. О том, какие советы чемпионы дают новичкам в спортивном программировании, мы писали здесь: и .
  • За онлайн-трансляцию чемпионата также отвечает команда Университета ИТМО (конечно же, не спортсменов-программистов, а специалистов по видеотрансляции). В то время, как участники чемпионата борются за чемпионский титул, видеогруппа, аналитики, директор, режиссер, дизайнер, программисты и видеоредакторы стремятся превратить финал ACM ICPC в мероприятие, за которым будет интересно наблюдать людям со всего мира. Кстати, в этом году специально для российских зрителей мы организуем вещание на русском языке. О том, как работает команда, какие аппаратные и программные решения используются при трансляции, читайте в этом материале.

Подготовка участников

Прежде, чем принять участие в финале, команды проходят подготовку на разнообразных предварительных сборах. Один из таких тренировочных этапов ежегодно проходит на базе МФТИ (это Moscow Workshops ACM ICPC).

Формат воркшопов достаточно жесткий: за 11 дней непрерывных тренировок студенты-участники решают не менее 100 олимпиадных задач. Также в рамках тренировочной программы предусмотрены консультации с преподавателями сборов и изучение материалов лекций.

Будущие победители таким обучением не пренебрегают: в 2016 году 8 из 13 команд-победительниц ACM ICPC участвовали в тренировочных сборах. А в нынешнем в Moscow Workshops ACM ICPC приняли участие 170 студентов и тренеров, представлявших 19 стран и 44 университета. Возможность дистанционного участия позволила пройти обучение у российских специалистов командам из США, Латвии, Румынии, Китая и Индии.

Прогнозы: кто победит

По оценкам Андрея Станкевича, тренера команд Университета ИТМО и члена оргкомитета полуфинала чемпионата мира в странах Северо-Восточной Европы, в числе претендентов на победу в этом году будут следующие университеты:
  • Россия : СПбГУ, Университет ИТМО и МФТИ (тройка лучших команд региона «Северо-Восточная Европа»)
  • Китай : Университет Синьхуа, Шанхайский Университет Транспорта, Фуданский Университет, Пекинский Университет
  • США : Массачусетский Технологический Институт
  • Швеция : Королевский Технологический Институт
Конкуренцию им, по мнению Андрея Станкевича, могут составить команды других китайских и корейских вузов, а также традиционно сильная команда Варшавского университета.
«Как показали предфинальные сборы в МФТИ, очень сильная команда в этом году у китайского университета Синьхуа. В нее входят студенты, которые в свое время школьниками занимали абсолютные первые места на международной олимпиаде. Тем не менее, два раза нашей команде удавалось обойти их на тренировочном соревновании, так что шансы есть.

Из российских команд очень хорошо себя показали команды Университета ИТМО, СПбГУ и МФТИ. Из неожиданных открытий последних сборов – команда из Австралии (Университет Нового Южного Уэльса) и более сильная, чем раньше, команда KTH из Стокгольма. Также можно отметить сильные команды из MIT и нескольких других китайских университетов: Шанхайского Университета Транспорта, Фуданского университета из Пекина, Пекинского университета».
– Андрей Станкевич


Владимир Парфенов отмечает, что в этом году результаты российских команд, прошедших в финал, оказались ожидаемыми: лидеры выступили стабильно хорошо, но состав вузов-финалистов остался практически неизменным по сравнению с прошлым годом:
Среди российских финалистов – участники старые ([они] и раньше доходили до финального этапа, но не во все годы), поскольку подготовить команду, выходящую в финал весьма трудно.

Если говорить о регионе [Северо-Восточная Европа], то в этом сезоне СПбГУ, Университет ИТМО и МФТИ – это три наиболее сильные российские команды, поскольку у МГУ, например, сезон не сложился. Из других стран [региона] с нами могут соперничать белорусские команды.
– Владимир Парфенов

Российские студенты в седьмой раз подряд стали победителями чемпионата мира по программированию ACM ICPC в Пекине. С 2000 года это уже 13-я победа участников из РФ. Первое место заняла команда из Московского государственного университета (МГУ). На втором - Московский физико-технический институт (МФТИ), на третьем - Пекинский университет. Команда победителей получит денежное вознаграждение в $15 тыс. Ранее первые места на этих соревнованиях занимали команды Санкт-Петербургского госуниверситета (СПбГУ), Санкт-Петербургского университета информационных технологий, механики и оптики (ИТМО) и Саратовского государственного университета. Впрочем, в экспертном сообществе не склонны переоценивать успехи российских программистов, напоминая о проблемах в общем уровне подготовки учащихся.


В Пекине завершился финал чемпионата мира по программированию ACM ICPC - крупнейшей студенческой олимпиады в этой дисциплине. В финале первенства в этом году приняли участие 140 команд из 51 страны. От России выступали 11 команд, представляющих Московский физико-технический университет, Московский государственный университет, Университет ИТМО (Санкт-Петербург), Санкт-Петербургский государственный университет, Высшую школу экономики, Московский авиационный институт, Новосибирский государственный университет, Пермский государственный университет, Саратовский государственный университет, Академический университет (Санкт-Петербург) и Уральский федеральный университет (Екатеринбург).

Российские участники завоевали кубок мира и четыре медали из 13 - больше, чем любая другая страна.

Команды из Китая и США получили по три медали, по одной - у Японии, Кореи и Литвы.

Кубок мира впервые выиграла команда МГУ Red Panda, решив 9 задач из 12 предложенных. «Наши ребята - лучшие! Гордимся»,- говорится в сообщении пресс-службы МГУ. «Это первая абсолютная победа МГУ в ICPC»,- сообщили “Ъ” в университете. В состав команды (традиционно она состоит из трех человек) входят Михаил Ипатов (студент мехмата), Владислав Макеев и Григорий Резников (факультет вычислительной математики и кибернетики). Тренером команды является завкафедрой информатики специализированного учебно-научного центра (СУНЦ) имени А. Н. Колмогорова МГУ Елена Андреева.

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

Чемпионат по программированию проводится с 1970-х годов, с 2000 года в нем начали побеждать команды российских вузов: первыми тогда стали студенты СПбГУ.

С 2012 года в этой олимпиаде побеждают только российские команды.

Рекордсмен по количеству побед среди российских команд - Университет ИТМО (занимал первое место семь раз, в том числе в 2017 году). В этом году команда Университета ИТМО опустилась на девятую позицию, решив 7 задач из 12. При этом ИТМО остался третьим среди российских вузов-участников олимпиады. «Программирование становится настоящим интеллектуальным спортом будущего, не менее интересным, чем, например, шахматы, и в данной дисциплине ребятам из России нет равных»,- прокомментировал успехи российских студентов вице-президент Российского союза ректоров, ректор Университета ИТМО Владимир Васильев.

Кроме команды МГУ среди самых лучших оказались команды МФТИ (второе место) и университетов Пекина и Токио, решившие 8 из 12 задач и удостоенные золотых медалей.

С результатом 7 из 12 соревнования завершили Сеульский национальный университет, университет Нового Южного Уэльса, университет Цинхуа, Шанхайский университет, ИТМО, Массачусетский технологический институт, университет Вильнюса и Уральский федеральный университет.

«Команда физтеха показала высокий результат, они уверенно шли к победе весь год, показали лучший результат за всю историю участия МФТИ в соревнованиях, с чем можно поздравить команду Cryptozoology! Мы гордимся нашими студентами»,- сообщил Алексей Малеев, руководитель команды, директор Центра ИТ-образования МФТИ. «Москва имеет самое большое представительство среди всех городов мира - сразу четыре университета (среди 13 лучших.- “Ъ” ) отстаивают честь страны,- отметил господин Малеев.- Более того, 10 из 13 прошли школу Moscow Workshops ICPC на базе МФТИ». «Это доказывает, что программистское образование у нас в стране - одно из лучших в мире. Поздравляем команду МФТИ и всех российских программистов!» - подчеркнул ректор МФТИ Николай Кудрявцев.

В ICPC соревнуются команды из трех студентов не старше 25 лет. К участию в чемпионате не допускаются студенты, дважды участвовавшие в мировом финале. В распоряжении команды - всего один компьютер, поэтому помимо логики и умения работать в жестких временных рамках конкурсанты должны проявить навыки взаимодействия в команде и грамотно распределить роли. Побеждает команда, которая правильно решила наибольшее количество задач и при этом показала наилучшее время; также учитывается количество сделанных попыток, или «посылок» (так называют решение задачи, отправленное на проверку на тестирующий сервер).

Все призеры ICPC получают денежную премию: команда чемпионов - $15 тыс.; команды, завоевавшие золотые медали,- по $7,5 тыс.; серебряные призеры - по $6 тыс., а команды, взявшие бронзу,- по $3 тыс.

Победу российских студентов не стоит переоценивать, считает главный научный сотрудник Института проблем информатики РАН Константин Колин. «Выиграли и выиграли, речь идет о единичном успехе: это элита, которую готовят в ведущих вузах, а нужно посмотреть на общий уровень подготовки школьников и студентов»,- сказал эксперт в беседе с “Ъ”. По его словам, социологические опросы, проведенные среди московских школьников в прошлом и нынешнем годах, показали, что «34% школьников считают, что солнце вращается вокруг Земли». «Маразм крепчал, а правительством принята программа ""Цифровая экономика"", которая требует высококвалифицированных специалистов. Для того чтобы их подготовить, необходима революция в образовании, и начинать нужно с педагогов. Мы много об этом говорим, но пока, к сожалению, в Министерстве образования нас не слышат»,- заключил эксперт. В Минобрнауки победу российских студентов на международной олимпиаде “Ъ” оперативно прокомментировать не смогли.

Анна Макеева, Валерия Мишина