В Порту пройдет финал Международной студенческой олимпиады по программированию — ICPC 2019
Сегодня — 4 апреля — в 13 часов по Москве начнется финал Международной студенческой олимпиады по программированию (ICPC), в котором примут участие 10 российских команд. Их представляют университеты из пяти городов: Москвы, Санкт-Петербурга, Екатеринбурга, Саратова и Архангельска. Сильнейшие зарубежные соперники — Стэнфорд, Шанхайский транспортный университет и MIT.
Последние семь лет кубок мира ICPC передавали друг другу команды российских университетов. Удастся ли россиянам завоевать золото в восьмой раз, можно будет наблюдать в прямом эфире.
Немного фактов
- В 2019 году состязания проходят уже в 43-й раз, на этот раз в городе Порту.
- В региональных отборочных этапах ICPC 2019 участвовало 52 709 студентов-программистов из 110 стран и 3233 университетов. Для сравнения: на летних Олимпийских играх в Рио на всех этапах соревновались 11 544 спортсмена.
- Из регионального тура по Северной Евразии вышли 16 команд, десять из которых — из России.
- Российские команды в финале ICPC 2019 представляют 10 университетов из шести городов:
- Московский физико-технический университет,
- Московский государственный университет,
- Университет ИТМО (Санкт-Петербург),
- Санкт-Петербургский государственный университет,
- Высшая школа экономики (Москва, Санкт-Петербург),
- Московский авиационный институт,
- Северный (Арктический) федеральный университет (Архангельск),
- Саратовский государственный университет,
- Уральский федеральный университет (Екатеринбург).
Правила соревнований
Чтобы попасть на финальные состязания, команды должны сначала пройти отбор в своем вузе, а затем региональный тур (региональный полуфинал). В отборочном туре по России и СНГ участвовали более 300 команд. По итогам полуфинала по лучшим результатам были отобраны 16 команд из Северной Евразии.
В одной команде может быть не больше трех студентов не старше 25 лет. К участию в чемпионате не допускаются те, кто дважды участвовал в мировом финале. За пять часов программисты должны решить от 8 до 12 алгоритмических задач, условия которых написаны на английском языке.
Команды пишут решения на Java, C, C ++, Python и Kotlin и посылают их на тестирующий сервер.
Программы тестируются на большом количестве входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, сообщение об этом отправляется команде, после чего участники могут послать исправленную версию. Задача считается решенной, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются. Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем.
Особенность задач в том, что их условия приближены к тем, что могут встретиться программистам-практикам в работе. На одну команду дается один компьютер без доступа к интернету или другой внешней сети. Ребята должны показать навыки командной работы, которые требуются при разработке реального программного продукта в любой IT-компании. Помимо логики и умения работать под давлением, участники соревнований должны проявить навыки командной игры и правильного распределения ролей. Как отмечают организаторы, для того, чтобы решить некоторые задачи, достаточно лишь аккуратности и внимательности. Для других же заданий требуется углубленное знание различных алгоритмов.
Задачи проверяются автоматически по тестам, которые заранее составляются жюри, проверка решений идет в реальном времени. Учитывается полнота и скорость выполнения задания, а также количество попыток, которое сделала команда при решении той или иной задачи.
Чемпионы ICPC получают кубок Чемпионата мира и солидную денежную премию — 15 000 долларов США. Остальные команды-призеры также не уезжают без материального вознаграждения. Команды, занявшие первые четыре места, получат золотые медали и по 7 500 долларов. C пятого по восьмое место — серебряные медали и 6 000 долларов. А те участники, которые заканчивают соревнования на девятом — двенадцатом месте, становятся обладателями бронзовых медалей и 3 000 долларов.