18.10.2021 23:16
    Поделиться

    Почему чемпионы мира по программированию изучали собор Василия Блаженного

    Команда Нижегородского государственного университета имени Лобачевского (ННГУ) завоевала Кубок чемпионов в финале самого престижного международного соревнования по программированию среди университетских команд ICPC (International Collegiate Programming Contest).
    Сергей Михеев

    Напомним, в 2021 году финал мирового чемпионата впервые проходил в Москве. Российская сборная выиграла эти престижные международные соревнования, взяв не только высшую награду - кубок, но и три из четырех золотых медалей, а также одну бронзу. Обладателем главного приза и одной из золотых медалей как раз и стала сборная ННГУ. Золотые медали также получили сборные из Санкт-Петербургского университета ИТМО и МФТИ. Бронза - у команды ВШЭ. Напомним, что ранее наши студенты уже 14 раз становились чемпионами мира, причем последние 8 лет они просто не выпускали кубок победителя из рук. И вот - девятая подряд победа.

    После того как в Москве с победителями встретился премьер-министр Михаил Мишустин, нижегородцы вернулись домой с абсолютным триумфом.

    Стать первыми среди 59 тысяч участников, опередить программистов из Массачусетского технологического института (MIT), Кембриджа, Гарварда, Стэнфорда, МГУ - это невероятный результат.

    - Ребята знали, что это последний шанс, - пояснил руководитель команды, доцент Института информационных технологий, математики и механики ННГУ (ИИТММ) Николай Борисов. - В этом чемпионате есть ограничения и по возрасту участников, и по количеству выступлений в финале. Пять лет назад мы выиграли бронзу в ICPC, проходившем в Таиланде. А так хотелось победить.

    Из команды пятилетней давности "в деле" остался только выпускник Высшей школы общей и прикладной физики ННГУ Николай Калинин. В этом году к нему присоединились выпускники ИИТММ ННГУ Алексей Данилюк и Валерия Рябчикова. Тренировали команду выпускники факультета вычислительной математики и кибернетики Алексей Шмелев и Владислав Епифанов.

    - Задачи были очень сложными, - продолжил Николай Борисов. - На языке "С++" надо было за пять часов решить 15 кейсов. Например, рассчитать по фотографиям координаты куполов собора Василия Блаженного, найти оптимальные маршруты между городами, сравнить две географические карты между собой. За каждую ошибку - штрафные очки.

    Стать первыми среди 59 тысяч участников, опередив программистов Кембриджа, - невероятный результат

    По итогам финального раунда нижегородцы выполнили максимальное количество задач - 12. Ближайшие их соперники - команды из Сеульского университета и МФТИ - справились только с одиннадцатью.

    Каково это - "кодить" по несколько часов подряд и можно ли конкурсные задания "привязать" к реальной жизни?

    - Задания чемпионата вряд ли встретишь на каждом шагу, - поделился "старожил" нижегородской команды Николай Калинин. - В спортивном программировании задачи ставятся математически строго, а решение должно находить абсолютно верный ответ при любых условиях и при этом укладываться в определенные ограничения. В обычной жизни всегда есть баланс между скоростью, стабильностью и сложностью программы. Однако более простые и известные алгоритмы, встречающиеся в мире спортивного программирования, достаточно часто применяются при разработке высоконагруженных систем, например, серверов с нагрузкой не менее 150 клиентских запросов в секунду.

    А ректор ННГУ Елена Загайнова отметила: победа стала возможна еще и потому, что олимпиадным программированием в университете занимаются еще с 90-х годов прошлого века.

    Справка "РГ"

    Чемпионат ICPC проводится с 1977 года. Российские студенты, которые участвуют в соревнованиях с 1995 года, завоевали всего 80 медалей, 33 из которых - золотые. В чемпионате 2021 года приняли участие 3406 университетов из 104 стран мира. Звание чемпиона мира ICPC открывает победителям двери в любые IT-компании мира.