Финал Международной студенческой олимпиады по программированию в прямом эфире

19 апреля, то есть этой ночью, в 4 часа по Москве стартует финал Международной студенческой олимпиады по программированию (ICPC), в котором примут участие 11 российских команд. Фавориты турнира — Университет ИТМО, МГУ и МФТИ. Сильнейшие зарубежные соперники — Пекинский университет, Университет Синьхуа (Китай) и Сеульский национальный университет (Корея).

Финал ICPC 2017

Последние шесть лет кубок мира ICPC передавали друг другу команды Университета ИТМО и СПбГУ. Скрестим пальцы и будем ждать седьмую подряд победу России.


Чуть-чуть фактов


  • В 2018 году состязания проходят уже в 42-й раз.
  • В региональных отборочных этапах ICPC 2018 участвовало порядка 50 000 студентов-программистов из 111 стран и 3 100 университетов. Для сравнения: на летних Олимпийских играх в Рио на всех этапах соревновались 11 544 спортсмена.
  • В финале чемпионата мира ICPC 2018 соревнуются 140 команд из более 50 стран.
  • Российские команды в финале ICPC 2018 представляют 11 университетов из шести городов:
    1. Московский физико-технический университет,
    2. Московский государственный университет,
    3. Университет ИТМО (Санкт-Петербург),
    4. Санкт-Петербургский государственный университет,
    5. Высшая школа экономики,
    6. Московский авиационный институт,
    7. Новосибирский государственный университет,
    8. Пермский государственный университет,
    9. Саратовский государственный университет,
    10. Академический университет (Санкт-Петербург),
    11. Уральский федеральный университет (Екатеринбург).


Правила соревнований


Чтобы попасть на финальные состязания, команды должны сначала пройти отбор в своем вузе, а затем региональный тур (региональный полуфинал). Так, в отборочном туре по России и СНГ участвовали более 300 команд. По итогам полуфинала по лучшим результатам были отобраны 16 команд, представляющих Северную Евразию.

В одной команде может быть не больше трех студентов не старше 25 лет. К участию в чемпионате не допускаются те, кто дважды участвовал в мировом финале. За пять часов программисты должны решить от 8 до 12 алгоритмических задач, условия которых написаны на английском языке.

Команды пишут решения на Java, C, C ++, Python и Kotlin и посылают их на тестирующий сервер.

Программы тестируются на большом количестве входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, сообщение об этом отправляется команде, после чего участники могут послать исправленную версию. Задача считается решенной, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются. Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем.

Особенность задач в том, что их условия приближены к тем, что могут встретиться программистам-практикам в работе. На одну команду дается один компьютер без доступа к интернету или другой внешней сети. Ребята должны показать навыки командной работы, которые требуются при разработке реального программного продукта в любой IT-компании. Помимо логики и умения работать под давлением, участники соревнований должны проявить навыки командной игры и правильного распределения ролей. Как отмечают организаторы, для того, чтобы решить некоторые задачи, достаточно лишь аккуратности и внимательности. Для других же заданий требуется углубленное знание различных алгоритмов.

Задачи проверяются автоматически по тестам, которые заранее составляются жюри, проверка решений идет в реальном времени. Учитывается полнота и скорость выполнения задания, а также количество попыток, которое сделала команда при решении той или иной задачи.

Чемпионы ICPC получают кубок Чемпионата мира и солидную денежную премию — 15 000 долларов США. Остальные команды-призеры также не уезжают без материального вознаграждения. Команды, занявшие первые четыре места, получат золотые медали и по 7 500 долларов. C пятого по восьмое место — серебряные медали и 6 000 долларов. А те участники, которые заканчивают соревнования на девятом — двенадцатом месте, становятся обладателями бронзовых медалей и 3 000 долларов.

© Habrahabr.ru