Російські студенти виграли чемпіонат світу з програмування. Найрозумніші: як склалася кар'єра переможців світових IT-чемпіонатів Міжнародний чемпіонат із програмування

25.05.2017, Чт, 10:39, Мск , Текст: Валерія Шмирова

Студенти ІТМО виграли перше місце на найстарішій у світі олімпіаді з програмування ACM ICPC 2017, вирішивши завдання швидше за суперників. Це сьома перемога вишу на чемпіонаті, що є світовим рекордом. Переможець минулого року СПБГУ посів четверте місце.

Перемога ІТМО

Команда Санкт-Петербурзького національного дослідницького університету інформаційних технологій, механіки та оптики (ІТМО) посіла перше місце на міжнародній олімпіаді з програмування ACM ICPC 2017. Окрім золотої медалі, Іван Білоногов, Ілля Збань, Володимир Смикаловта їх тренер Андрій Станкевичбули нагороджені призом у $12 тис.

Заключний тур олімпіади пройшов 24 травня у Рапід-Сіті, США. Представникам ІТМО вдалося правильно вирішити 10 завдань із 12, і зробити це швидше, ніж суперники. За словами переможців, впоратися з 10 завданнями за 4 години їм допомогла інтуїція, яка дозволила спертися у процесі вирішення на частково доведені факти. Чемпіони є студентами кафедри комп'ютерних технологій, їхній тренер виховує фіналістів ACM ICPC останні 15 років.

Інші призи

Медалями чемпіонату нагороджуються 12 найкращих команд, які брали участь у фіналі. На цей раз місце з другого по четверте посіли команди Варшавського університету, Сеульського університету та Санкт-Петербурзького державного університету(СПбДУ). Їхні учасники також вирішили по 10 завдань із 12, але програли у швидкості. Ці команди також були нагороджені золотими медалями.

ІТМО всьоме став чемпіоном світу з програмування

До срібних призерів олімпіади увійшли команди університету Фудань, Пекінського університету, Університету Сіньхуа і Московського фізико-технічного інституту. Бронзовими медалямибули нагороджені команди Токійського університету, шведського Королівського технологічного інституту, Уральського федерального університету та Корейського інституту передових технологій.

Рекордсмени олімпіади

Росія бере участь у ACM ICPC з 1995 р. За цей час російські команди ставали чемпіонами олімпіади 12 разів. Для ІТМО нинішня перемога виявилася вже сьомою. Минулого року перше місце посів СПбДУ, на рахунку якого загалом 4 перемоги в олімпіаді. ІТМО того ж року срібну медаль. ВНЗ є рекордсменом за кількістю перемог на ACM ICPC, яка вперше була проведена в 1977 р. Найстаріший у світі чемпіонат із програмування спонсорує компанія IBM.

В олімпіаді цього року взяли участь 46 381 студент із 2 948 університетів 103 країн. До фіналу дійшли 133 команди, зокрема 13 російських. Три їх представляли вузи Москви, стільки ж команд приїхало з Санкт-Петербурга, інші учасники були з Єкатеринбурга, Новосибірська, Пермі, Петрозаводська, Саратова, Самари і Томська.

У Рапід-Сіті (США) 24 травня відбулася кульмінація Чемпіонату світу з програмування ACM ICPC-2017. Абсолютними чемпіонами стала команда Університету ІТМО, яка вирішила 10 завдань з 12 швидше і грамотніше за суперників. Таким чином, петербурзький вуз встановив новий рекорд в історії контесту: збірні Університету ІТМО всьоме стали переможцями ACM ICPC, що ще не вдавалося жодному вузу у світі. Чемпіонський кубок над головою підняли студенти кафедри комп'ютерних технологій Володимир Смикалов, Іван Білоногов та Ілля Збань. Цього року у фіналі найпрестижнішого змагання серед програмістів беруть участь 133 команди зі всіх регіонів світу, змагання проходили вже у 41 раз.

Нагородження команди Університету ІТМО

Збірна вузу змогла правильно вирішити 10 завдань із 12, витративши на це найменшу кількість часу. Саме час вирішення задач та менша кількість невдалих спроб їх здачі забезпечила команді сьомий кубок ACM ICPC. Інші «золоті» команди, які склали четвірку лідерів контесту, також вирішили десять завдань. Буквально на п'яти чемпіонам світу наступала команда Варшавського університету, колишнялідером ACM ICPC-2017. На третій позиції програмісти із Сеульського національного університету. З четвертим результатом фінішувала команда СПбДУ – чемпіон минулого року.Збірна Університету ІТМО складається зі студентів факультету інформаційних технологій та програмуванняВолодимира Смикалова(перший курс магістратури кафедри КТ), Івана Білоногова(четвертий курс бакалаврату кафедри КТ) та Іллі Збаня(четвертий курс бакалаврату кафедри КТ). Головним тренером команди виступив доцент кафедри комп'ютерних технологій, кандидат технічних наук Андрій Станкевич, який підготував не одне покоління спортсменів-програмістів 2016 року він отримав престижну нагороду ACM ICPC Senior Coach Award за те, що протягом 15 років його підопічні проходили у фінал конкурсу.

«Змагання пройшло напрочуд гладко,- ділиться враженнями Іван Білоногов. - У деяких завданнях ми інтуїтивно поклалися на факти, які не могли довести повністю, і чуття нас не підвело. Нам удалося здати 10 завдань фактично за чотири години, і це дало гарний запас впевненості. Але тільки в кінці, коли ми здали десяте завдання, я подумав: "Окей, мабуть, вийде взяти золото!"».

Призерами стали також інші російські команди: команда МФТІ поїде із «сріблом» ACM ICPC, а Уральський федеральний університет «бронзою» контесту. Усього цього року Росію представляли 13 команд - однією більше, ніж у минулому році, зокрема по три з Москви і Санкт-Петербурга, і навіть з інших міст: Саратова, Пермі, Петрозаводська, Новосибірська, Самари, Томська і Єкатеринбурга. Команди з РФ беруть участь у чемпіонаті з 1993 року, а з 2000 року перемагали у змаганні вже 12 разів, включаючи цей рік.

З повною таблицею результатів можна ознайомитись за посиланням.

«Усі команди, що увійшли до ТОП-12, неодноразово називалися у списках фаворитів – великих сюрпризів не було. Порівняно з минулим роком, потужний ривок показали азіатські вузи: минулого року їм дісталося лише дві медалі, а зараз – цілих сім. Однак у кожному регіоні багато сильних команд і конкуренція все загострюється», - коментує наставник команди Університету ІТМО Андрій Станкевич.

Остання година змагань, зізнався тренер, була для нього не менш хвилюючою, ніж для її підопічних.

«Після того як турнірна таблиця заморожується, жодних способів показати тренеру, чи здане завдання, у хлопців немає, але цього разу, бачачи зображення з екрана їхнього комп'ютера в ході трансляції, я помітив, що після відправлення останнього завдання, G, вони швидко переключилися на сторінку з результатами, і подумав: отже, все гаразд, здали. Це було не те завдання, від якого варто було б відмовитися за неправильної відповіді», – ділиться тренер.

Традиційно, як і цього року, контест проходив упродовж п'яти годин. За цей час учасники мають вирішити практико-орієнтовані завдання. Особливість змагань у тому, що команди із трьох людей сидять перед одним комп'ютером. Тому крім логіки та вміння працювати під тиском, вони мають проявити навички командної гри та правильного розподілу ролей. Для того, щоб вирішити деякі завдання, достатньо лише акуратності та уважності, зазначають організатори чемпіонату. Для інших завдань потрібно поглиблене знання різних алгоритмів. Результатом роботи команди найчастіше є програмне забезпечення, яке відповідає поставленим умовам. Завдання перевіряються автоматично за тестами, які заздалегідь складаються журі, перевірка рішень відбувається в реальному часі. Враховується повнота та швидкість виконання завдання, а також кількість спроб, які зробила команда при вирішенні того чи іншого завдання. Не завжди команди встигають упоратися з усіма. Такі жорсткі умови відповідають реальному життю: адже клієнт може просто відмовитися від послуг програміста, якщо другий марнує час і ресурси першого.

Щоб потрапити до фіналу ACM ICPC, потрібно спочатку пройти місцевий відбір у власному університеті. Зазвичай у цих заходах беруть участь понад 300 тисяч людей. Потім проходять , у яких визначаються лідери, гідні фіналу. Чемпіони ICPC отримує кубок Чемпіонату світу та солідну грошову премію, яка цього року дорівнює 15 000 доларів США. Інші команди-призери також не їдуть без матеріальної винагороди.

Чемпіонат зі спортивного програмування International Collegiate Programming Contest проводиться щорічно з 1977 року під егідою Асоціації обчислювальної техніки (ACM, штаб-квартира в Нью-Йорку). Цього року ACM ICPC знову поставив новий рекорд за кількістю учасників. Загалом у регіональних відбіркових етапах брав участь 46 381 студент із майже трьох тисяч університетів. Минулого року в ході чемпіонату змагалися трохи більше 40 тисяч програмістів. За статистикою організаторів заходу, кількість учасників збільшилася на 2000% з 1997 року, коли чемпіонат стала підтримувати компанія IBM.

Багато перемог не буває! Кожна наступна ще солодша за попередню. Команда петербурзького університету інформаційних технологій, механіки та оптики виборола головний кубок чемпіонату світу з програмування ACM ICPC 2017 року. Це вже сьома перемога ІТМО у найпрестижнішому інтелектуальному турнірімолодих програмістів.

Битва найсильніших

Змагання найкращих студентів-програмістів із понад ста країн світу розпочалося 20 травня у Рапід-сіті, що у Південній Дакоті, США. У ньому брали участь 128 команд, 13 з них представляли Росію, три - Санкт-Петербург. Фінал чекали не лише команди, а й уболівальники, які стежили за прямою трансляцією. Щоб стати чемпіонами світу, молоді програмісти повинні були правильно вирішити якнайбільше з 12 поставлених перед ними завдань.

Битва видалася непростою. Команди буквально наступали один одному на п'яти. Через 40 хвилин змагань майбутні чемпіони вирішили лише три завдання та були лише на дев'ятому місці у турнірній таблиці. Але вони вірили. Ні. Вони знали, що можуть краще та швидше. Ще через 20 хвилин команда ІТМО вирішила вже п'ять завдань та випередила всіх суперників. Після восьми завдань лідер змінився. Але дев'ята знову повернула пітерців на перше місце. Після десяти вирішених завдань команди завмерли в очікуванні результатів.


В очікуванні результатів. Фото: Кафедра КТ Університету ІТМО "ВКонтакті"

Семиразові чемпіони

Щойно стали відомі результати студентського чемпіонату зі спортивного програмування ACM ACPC-2017. Перше місце посіла команда Університету ІТМО, додавши до шести перемог ще одну, - оголосили радісну новину на офіційній сторінці вузу в соцмережі о 01:36 за Москвою.

Програмісти з Університету ІТМО підтвердили свій світовий рекорд, і переможний кубок найпрестижнішого студентського турніру серед програмістів знову їде до Петербурга.

Збірна вузу змогла правильно вирішити 10 із 12 завдань, витративши на це найменшу кількість часу. Саме час вирішення завдань та менша кількість невдалих спроб їх здачі забезпечила команді сьомий кубок ACM ICPC, повідомляє прес-служба ІТМО.

Ось вони, герої!

Сьому перемогу Університету ІТМО на ACM ICPC, вирішивши 10 з 12 завдань найшвидше і грамотніше за всіх супротивників, принесли студенти кафедри комп'ютерних технологій Іван Білоногов, Ілля Збань та Володимир Смикалов. Головний тренер команди переможців – доцент кафедри комп'ютерних технологій, кандидат технічних наук Андрій Станкевич.


Сьогодні, о 18 годині за московським часом, в американському Rapid City розпочнеться фінал найпрестижнішого світового змагання для програмістів – ACM ICPC. Запрошуємо всіх бажаючих побачити цю подію у прямому ефірі (Пряма трансляція почнеться вже о 17 годині по Москві) і підтримати команду Університету ІТМО - одного з фаворитів чемпіонату. Про те, як команди з усього світу готувалися до фіналу, а також прогнози на перемогу розповімо нижче.

Небагато фактів

  • Спортивне програмування щорічно збирає більше учасників, ніж Олімпійські ігри– цього року у змаганнях ACM ICPC беруть участь 46 381 особа зі 103 країн, у той час як у літній Олімпіаді в Ріо на всіх етапах брали участь 11 544 спортсмени (у 4 рази менше).
  • Інтерес до змагань зростає з кожним роком. Як зазначає Володимир Парфьонов, директор регіонального півфіналу чемпіонату ACM ICPC у Росії та країнах Північно-Східної Європи, декан факультету інформаційних технологій та програмування Університету ІТМО, у 2004 році у світовій першості ACM ICPC брало участь 8 000 програмістів (включаючи регіональні відбіркові етапи), 2016 – вже понад 40 тисяч.
  • За російськими вишами вже давно закріпилося становище лідерів чемпіонату – наші команди 11 разів ставали абсолютними чемпіонами ACM ICPC. З них 6 разів перемогу у чемпіонаті здобували команди Університету ІТМО – і це світовий рекорд (у 2017 році Університет ІТМО бореться за звання семиразового чемпіона світу).
  • Число учасників з Росії залишається високим вже багато років: у 2004 році у всіх етапах чемпіонату взяли участь 2 100 програмістів з Росії, до 2016 року їх кількість збільшилася вже до 3 400.
  • Формат чемпіонату ACM ICPC називають не тільки одним з найбільш вдалих, але й одним із найскладніших: кожна команда використовує лише один комп'ютер і в стислий термін має вирішити якнайбільше завдань. Через це на чемпіонаті висуваються підвищені вимоги не лише до креативності, знання алгоритмів та «матчастини», а й до вміння розподіляти ролі та працювати у команді.
Я б сказав, що досягти успіху в змаганнях до певного рівня, маючи тільки знання з першої категорії [знання математики, алгоритмів, мови програмування], можна. Тим не менш, знання з другої категорії [розуміння правильної тактики, навички грамотного розподілу ресурсів] сильно спрощують життя та працюють як каталізатор. Як і в будь-якому спорті: є фізичні навички, а є знання техніки, психологія тощо. Досягти успіху тільки за рахунок першого можна, але друге працюватиме каталізатором

– Павло Кротков, випускник факультету інформаційних технологій та програмування Університету ІТМО, учасник та організатор безлічі контестів з програмування в Росії та за кордоном, включаючи ACM ICPC NEERC

  • До речі, починаючи з жовтня минулого року Павло з колегами – Максимом Буздаловим, чемпіоном ACM ICPC 2009 року та Дарією Яковлєвою, яка у 2016 році увійшла до десятки на міжнародному змаганні з програмування Google Code Jam for Women – ведуть курс «Як перемагати у змаганні: секрети чемпіонів», який Університет ІТМО запустив на платформі edX. Про те, які поради чемпіони дають новачкам у спортивному програмуванні, ми писали тут: .
  • За онлайн-трансляцію чемпіонату також відповідає команда Університету ІТМО (звісно ж, не спортсменів-програмістів, а фахівців із відеотрансляції). У той час, як учасники чемпіонату борються за чемпіонський титул, відеогрупу, аналітики, директор, режисер, дизайнер, програмісти та відеоредактори прагнуть перетворити фінал ACM ICPC на захід, за яким цікаво буде спостерігати людям з усього світу. До речі, цього року спеціально для російських глядачів ми організуємо мовлення російською мовою. Про те, як працює команда, які апаратні та програмні рішення використовуються під час трансляції, читайте у цьому матеріалі.

Підготовка учасників

Перш ніж взяти участь у фіналі, команди проходять підготовку на різноманітних попередніх зборах. Один із таких тренувальних етапів щорічно проходить на базі МФТІ (це Moscow Workshops ACM ICPC).

Формат воркшопів є досить жорстким: за 11 днів безперервних тренувань студенти-учасники вирішують не менше 100 олімпіадних завдань. Також у рамках тренувальної програми передбачені консультації з викладачами зборів та вивчення матеріалів лекцій.

Майбутні переможці таким навчанням не зневажають: у 2016 році 8 із 13 команд-переможниць ACM ICPC брали участь у тренувальних зборах. А в нинішньому в Moscow Workshops ACM ICPC взяли участь 170 студентів та тренерів, які представляли 19 країн та 44 університети. Можливість дистанційної участі дозволила пройти навчання у російських фахівців командам із США, Латвії, Румунії, Китаю та Індії.

Прогнози: хто переможе

За оцінками Андрія Станкевича, тренера команд Університету ІТМО та члена оргкомітету півфіналу чемпіонату світу в країнах Північно-Східної Європи, серед претендентів на перемогу цього року будуть наступні університети:
  • Росія: СПбГУ, Університет ІТМО та МФТІ (трійка найкращих команд регіону «Північно-Східна Європа»)
  • Китай: Університет Сіньхуа, Шанхайський Університет Транспорту, Фуданський Університет, Пекінський Університет.
  • США: Массачусетський Технологічний Інститут.
  • Швеція: Королівський Технологічний Інститут.
Конкуренцію їм, на думку Андрія Станкевича, можуть становити команди інших китайських та корейських вузів, а також традиційно сильна команда Варшавського університету.
Як показали передфінальні збори в МФТІ, дуже сильна команда цього року біля китайського університету Сіньхуа. До неї входять студенти, які свого часу школярами посідали абсолютні перші місця на міжнародній олімпіаді. Тим не менш, двічі нашій команді вдавалося обійти їх на тренувальному змаганні, тому шанси є.

З російських команд дуже добре себе показали команди Університету ІТМО, СПбГУ та МФТІ. З несподіваних відкриттів останніх зборів – команда з Австралії (Університет Нового Південного Уельсу) та сильніша, ніж раніше, команда KTH зі Стокгольму. Також можна відзначити сильні команди з MIT та кількох інших китайських університетів: Шанхайського Університету Транспорту, Фуданського університету з Пекіна, Пекінського університету».
– Андрій Станкевич


Володимир Парфьонов зазначає, що цього року результати російських команд, які пройшли у фінал, виявилися очікуваними: лідери виступили стабільно добре, але склад вузів-фіналістів залишився практично незмінним порівняно з минулим роком.
Серед російських фіналістів – учасники старі ([вони] і раніше доходили до фінального етапу, але не у всі роки), оскільки підготувати команду, яка виходить у фінал, дуже важко.

Якщо говорити про регіон [Північно-Східна Європа], то цього сезону СПбГУ, Університет ІТМО та МФТІ – це три найсильніші російські команди, оскільки у МДУ, наприклад, сезон не склався. З інших країн [регіону] з нами можуть змагатися білоруські команди.
– Володимир Парфьонов

МОСКВА, 19 квітня /ТАС/. Російські студенти здобули кубок світу та чотири медалі з 13 на престижному світовому чемпіонаті з програмування ICPC, фінал якого пройшов у четвер у Пекіні. Це команди студентів із чотирьох російських вузів – МДУ ім. Ломоносова, МФТІ, ІТМО та Уральського федерального університету, повідомили у прес-службі МФТІ.

"Російські учасники завоювали кубок світу та чотири медалі з 13 - більше, ніж інші країни-учасники: команди з Китаю та США отримали по три медалі, по одній - у Японії, Південної Кореї та Литви. Перше місце та кубок чемпіонів завоював МДУ." Золото", крім МДУ, отримали МФТІ, Пекінський університет і Токійський університет. "Срібло" дісталося Сеульському університету, Університету Південного Уельсу, Університету Сіньхуа і Шанхайському університету Джао-тонг. "Бронзу" завоювали Університет ІТМО Вільнюський університет та УрФУ", - зазначили у прес-службі.

Чемпіонат світу з програмування

International Collegiate Programming Contest (ICPC) - найстаріший, найбільший і найпрестижніший у світі чемпіонат зі спортивного програмування. Змагання проводиться щорічно з 1977 року під егідою Асоціації обчислювальної техніки (ACM). У фінал чемпіонату потрапляють команди, які пройшли багатоступінчастий відбір на регіональних етапах.

Цього року в чемпіонаті ICPC, включаючи регіональні відбіркові турніри, змагалися близько 50 тис. найкращих студентів-програмістів із близько 3 тис. університетів, які представляють 111 країн.

Російські програмісти лідирують на світовій першості вже багато років. З 2000 року команди з нашої країни перемагають у ICPC вже у 13 разів. Шість років, з 2012 по 2017 рік, кубок світу передавали один одному дві петербурзькі команди - СПбГУ та Університет ІТМО, який має світовий рекорд за кількістю чемпіонських титулів: на рахунку має сім кубків. Найближчі закордонні суперники, американський Стенфорд і китайський Університет Джао Тонг мають всього три перемоги.

Команди з РФ беруть участь у ICPC із 1993 року.

В ICPC змагаються команди із трьох студентів не старших 25 років. У розпорядженні команди - всього один комп'ютер, тому, окрім логіки та вміння працювати у жорстких часових рамках, конкурсанти мають проявити навички взаємодії у команді та грамотно розподілити ролі. Перемагає команда, яка правильно вирішила найбільшу кількість завдань і показала найкращий час.

Усі призери ICPC отримують грошову премію: команда чемпіонів – $15 тис.; команди, які завоювали золоті медалі – по $7,5 тис.; срібні призери – по $6 тис., а команди, які взяли бронзу, – по $3 тис.