19 апреля 2018 года в Пекине (КНР) завершился финал мирового чемпионата по программированию ICPC (International Collegiate Programming Competition – Международная студенческая олимпиада по программированию)
В Пекине (КНР) завершился финал мирового чемпионата по программированию ICPC (International Collegiate Programming Competition – Международная студенческая олимпиада по программированию). В финале первенства в этом году приняли участие 140 команд из 51 страны, в том числе 11 российских команд, которые представляли Московский государственный университет имени М.В. Ломоносова, Московский физико-технический университет, Университет ИТМО (Санкт-Петербург), Санкт-Петербургский государственный университет, НИУ «Высшая школа экономики», Московский авиационный институт, Новосибирский государственный университет, Пермский государственный университет, Саратовский государственный университет, Академический университет (Санкт-Петербург) и Уральский федеральный университет (Екатеринбург).
Российские участники завоевали кубок мира и четыре медали из 13 – больше, чем остальные страны-участники: команды из Китая и США получили по три медали, по одной – у Японии, Южной Кореи и Литвы. Первое место и кубок чемпионов завоевала команда МГУ. Помимо МГУ «золото» получили МФТИ, Пекинский университет и Токийский университет. «Серебро» досталось Сеульскому университету, Университету Южного Уэльса, Университету Синьхуа и Шанхайскому университету Джао-тонг. «Бронзу» завоевали Университет ИТМО, Университет Центральной Флориды, Массачусетский университет технологий, Вильнюсский университет и Уральский федеральный университет.
Состав команды МГУ имени М.В.Ломоносова Red Panda: Михаил Ипатов (3-й курс механико-математического факультета), Владислав Макеев (2-й курс факультета вычислительной математики и кибернетики), Григорий Резников (2-й курс факультета вычислительной математики и кибернетики). Тренер – Елена Андреева (заведующая кафедрой информатики СУНЦ МГУ). Команда МГУ впервые выиграла чемпионат ICPC.
Справка. ICPC – старейший, крупнейший и самый престижный в мире чемпионат по спортивному программированию. Соревнование проводится ежегодно c 1977 года под эгидой Ассоциации вычислительной техники (ACM). В финал чемпионата попадают команды, прошедшие многоступенчатый отбор на региональных этапах. С 2000 года российские студенты побеждали на чемпионате 13 раз, включая победу в 2018 году. Рекордсменом является Университет ИТМО, побеждавший семь раз.
В ICPC соревнуются команды из трех студентов не старше 25 лет. К участию в чемпионате не допускаются студенты, дважды участвовавшие в мировом финале. В распоряжении команды – всего один компьютер, поэтому, помимо логики и умения работать в жестких временных рамках, конкурсанты должны проявить навыки взаимодействия в команде и грамотно распределить роли. Побеждает команда, которая правильно решила наибольшее количество задач и при этом показала наилучшее время. Также учитывается количество сделанных попыток (решение задачи, отправленное на проверку на тестирующий сервер).
Каждое задание включает описание ситуации (легенду), примеры тестов и формальные ограничения. Участникам нужно «перевести» условия на язык математики, затем разработать алгоритм решения и написать код на одном из языков программирования, одобренных к использованию на чемпионате – Java, C, C ++, Python и Kotlin. Отправленное судьям решение проходит ряд проверок. Задача считается решенной, если программа выдала правильные ответы во всех тестах. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то сообщение об этом отправляется команде, после чего участники могут послать исправленную версию. За неудачные попытки командам начисляется штрафное время, которое учитывается при расчете итогового результата. За час до окончания соревнований турнирная таблица замораживается: команды видят только результаты собственных «попыток» и то, какие задачи попытались решить соперники.