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 долларов.

Комментарии (33)


  1. mspain
    19.04.2018 10:52

    У нас (мой поток) все олимпиадники ушли в консультанты
    SAP. Я постоянно списывал, сижу в жабопрогерах. Жизнь странная штука.


    1. AnutaU
      19.04.2018 10:59

      Это всё были олимпиадники уровня финалов ACM ICPC? Что-то я среди таких ни одного SAP консультанта не знаю.


      1. altai2013
        19.04.2018 15:26

        Мои сокурсники после финала ICPC работают на кафедре в родном универе.


    1. Fragster
      19.04.2018 15:28

      Есть один победитель ICPC и IOI: en.wikipedia.org/wiki/Nikolai_Durov


  1. Seekeer
    19.04.2018 11:55

    www.youtube.com/watch?v=Q2tKpmsmhgo
    Трансляция объявления результатов, очень увлекательно, сплошные баги:)


  1. istepan
    19.04.2018 11:57

    Подскажите пожалуйста, где можно будет посмотреть задачи и их решения от различных команд?


    1. Raimon
      19.04.2018 12:24

      такого, насколько я знаю, не будет. в трансляции были официальные разборы задач и время от времени показывали экраны разных команд с кодом, если очень инетересно, можно почитать.



  1. Fragster
    19.04.2018 12:21
    +1

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

    Это так к чебурнету готовят, что ли?


  1. Raimon
    19.04.2018 12:28
    +1

    Поздаврялю команду МГУ с первым местом, вырвали победу, единственными решив 9 задач!


  1. altai2013
    19.04.2018 13:22
    -3

    Скажите, а почему российская пропаганда называет международной олимпиадой соревнование, организованное частным баптистским университетом? Где в названии этого мероприятия («ACM International Collegiate Programming Contest») есть слово «олимпиада»?


    1. Fragster
      19.04.2018 13:32

      Это устоявшийся перевод, по форме проведения это «олимпиада», как в межшкольных соревнованиях по разным предметам в СССР и пост-СССР. Ну и за финалами en.wikipedia.org/wiki/International_Olympiad_in_Informatics мы тоже внимательно будем следить и радоваться успехам :)


      1. altai2013
        19.04.2018 15:15
        -1

        Слово «олимпиада» имеет в русском языке оттенок исключительности. Олимпиада может быть только одна. Система школьных олимпиад была централизованной и государственной, а ICPC — это просто одно из многих частных соревнований по программированию, причём с весьма специфическими правилами. Тот факт, что под участие в ICPC заточили всю вузовскую систему России, натаскивая студентов на типовые задачи ICPC и освобождая участников команд от стандартной программы обучения, — в этом есть что-то комическое.


        1. mayorovp
          19.04.2018 16:03

          Все правильно, в ICPC есть этот самый оттенок исключительности.

          Кстати, вузовскую систему никто на это соревнование не затачивал, и от стандартной программы обучения никто участников ICPC не освобождал.


          1. altai2013
            19.04.2018 16:52

            Система участия российских команд в ICPC работает так:
            1. Из общего потока студентов по рекомендации преподавателей выдёргивают несколько ботаников, имеющих, по мнению педагогов, математические способности (часто победителей математических олимпиад).
            2. Из ботаников собирают команду и начинают натаскивать на математические алгоритмы, проводя с ними отдельные занятия. Поскольку нагрузка на студентов увеличивается, им ставят свободное посещение на стандартные дисциплины.
            3. Собранные команды натаскивают на типовые задачи ICPC прошлых лет.
            4. Команда тренируется по правилам ICPC в которых приоритет имеет не алгоритмическое мышление и не умение программировать, а распределение ролей в команде, тайминг и математическая подготовка участников: 1 компьютер на троих, очень мало времени и нет индивидуального зачёта.
            Разве не так?


            1. mayorovp
              19.04.2018 17:10

              Все так, но где вы тут увидели затачивание под ICPC всей системы вузов и освобождение от стандартной программы обучения?


              1. altai2013
                19.04.2018 17:33

                Внутривузовские и межвузовские олимпиады в России проводятся по правилам ICPC и ориентированы на тренировку студентов для ICPC. То есть вся система вузов из года в год натаскивает своих студентов и преподавателей на победу именно в ICPC. Студентов специально тренируют для этого. Их занятия проходят отдельно от основного потока. Они часто пропускают занятия своей группы. Всё это делается для того, чтобы раз в году привезти награды с ICPC и объявить это победой России в «международной олимпиаде по программированию». Я посмотрел статьи в Вики на разных языках и не нашёл ни одной страны, где ICPC именуют олимпиадой, кроме России.


                1. Fragster
                  19.04.2018 17:44

                  А где также не «затачивают» студентов для этого соревнования не нашли, случайно? Это общемировая практика — таким образом повышают престиж вуза.


                  1. altai2013
                    19.04.2018 18:18

                    Все вузы-победители ICPC с 2000 года: МГУ, ИТМО, СПбГУ, Саратовский гос.университет, Чжэцзянский университет, Шанхайский университет транспорта, Варшавский университет. А как же Гарвард и Стэнфорд? Они не хотят повышать престиж своих вузов, или просто математическая школа в Шанхайском университете транспорта сильнее? Может, дело всё-таки в государственной системе натаскивания студентов на участие в одном конкретном соревновании? Или так случайно совпало, что российские государственные вузы дружно решили готовить студентов для ICMP, организовывая многоуровневый отбор и подготовку команд за бюджетные деньги?


                    1. Fragster
                      19.04.2018 18:19

                      Если брать не первое место, то и гарвард и стэнфорд имеют медали, в т.ч. золотые.


                      1. altai2013
                        19.04.2018 18:27

                        То есть, вы хотите сказать, что студенты Гарварда, Стэнфорда и МИТ в плане программирования уступают студентам Саратовского гос.университета и Шанхайского университета транспорта? Так нужно трактовать результаты «олимпиады»?


                        1. Fragster
                          19.04.2018 18:32
                          +1

                          Вы уже трактуете и имеете свое мнение, с которым я не совсем согласен. Просто я не понимаю, почему вы не считаете победу в международных конкурсах в сфере высоких технологий благом?


                          1. altai2013
                            19.04.2018 18:39
                            -3

                            Я считаю это благом, просто мне не нравится атмосфера очковтирательства вокруг ICPC. Везде педалируют тему, что это какая-то международная олимпиада, в которой Россия всех победила и заняла 1-е место, потому что в России самые крутые программисты. Я устал просто от тотального, повсеместного вранья и пропаганды, от каких-то дутых достижений, полученных с помощью подмены анализов мочи и тому подобных методов.


                1. JediPhilosopher
                  19.04.2018 17:50
                  +1

                  Про «всю систему» это громко сказано. Я учился в ИТМО на кафедре КТ, откуда вышли все (ну или почти все, не помню) тамошние чемпионы. Никто никого особо специально не натаскивал, не более чем в любом другом виде спорта которым занимаются студенты. На первых курсах всех приглашали поучаствовать в учебных контестах, кому нравилось — ходили потом на дополнительные тренировки, которые проводили пара преподавателей, сами бывшие олимпиадники. Уже плохо помню (да и сам я как раз в этом не участвовал), но вроде одно занятие в неделю у них было, плюс время от времени тренировочные контесты, плюс раз в год или около того — сборы на базе какого-нибудь другого универа.

                  Конечно для студентов это была дополнительная нагрузка (я сам собственно и не стал в этом участвовать, поскольку с трудом справлялся с обычной учебой), конечно иногда особо отличившимся позволяли некоторые вольности с другими предметами. Но учились они вместе со всеми, какой-то особой элитарностью на мой взгляд не обладали.

                  Все эти истории про «лютых задротов, которые непрерывно потно решают олимпиадные задачи и кроме этого ничего больше не умеют» — это обычно все какие-то фантазии тех, кто с этими людьми лично даже не знаком.


                  1. altai2013
                    19.04.2018 18:25
                    -2

                    В списке победителей ICPC — четыре российских вуза, а в списках участников — примерно все, кто готовит программистов. Это случайное совпадение, что бюджетные учреждения образования России с конца 90-х массово начали натаскивать своих студентов на ICPC? Им никто команды из Москвы не давал, это просто они сами решили повысить престиж своих вузов?


                    1. mayorovp
                      19.04.2018 18:57

                      Конечно же это было не совпадение. Но и приказ из Москвы тут ни при чем. Все куда проще: когда в России стали проводить первые соревнования — то и вузы стали студентов к ним готовить. А до этого не готовили потому что соревнований не было.


                      1. altai2013
                        19.04.2018 19:19

                        ICPC проводят с 1977 года


                        1. mayorovp
                          19.04.2018 19:20

                          А в России — с 1996.


                        1. JediPhilosopher
                          19.04.2018 19:45

                          И долгое время проводились в США, и участвовали там только американские ВУЗы. Что характерно, после того как оно стало международным — американцы ни разу вроде его не выигрывали.


                          1. altai2013
                            19.04.2018 21:19

                            И почему же ICPC с 2000-го года выигрывают только малоизвестные российские и китайские университеты, как вы считаете?


  1. mayorovp
    19.04.2018 14:31

    Вот этот фрагмент заставил улыбнуться:


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


    1. JediPhilosopher
      19.04.2018 14:41

      Ну тут просто предложение коряво составлено. Так-то задачи там формулирую не как что-то абстрактно-математическое, а как что-то приближенное к реальности. Ну там типа «составить оптимальное расписание рейсов для аэропорта при заданном наборе условий».

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


      1. mayorovp
        19.04.2018 14:49

        Да, тоже помню ту задачу. Но самая веселая — все-таки вот эта: acm.timus.ru/problem.aspx?num=1098