Чемпионат по программированию. Программисты университета итмо – семикратные чемпионы acm icpc

В Рапид-Сити (США) 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 проводится ежегодно c 1977 года под эгидой Ассоциации вычислительной техники (ACM, штаб-квартира в Нью-Йорке). В этом году ACM ICPC вновь поставил новый рекорд по количеству участников. Всего в региональных отборочных этапах участвовал 46 381 студент из почти трех тысяч университетов. В прошлом году в ходе чемпионата состязались чуть более 40 000 программистов. По статистике организаторов мероприятия, количество участников увеличилось на 2000% с 1997 года, года, когда чемпионат стала поддерживать компания IBM.

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

Немного фактов

  • Спортивное программирование ежегодно собирает больше участников, чем Олимпийские игры – в этом году в соревнованиях ACM ICPC принимают участие 46 381 человек из 103 стран, в то время как в летней Олимпиаде в Рио на всех этапах участвовали 11 544 спортсменов (в 4 раза меньше).
  • Интерес к соревнованиям растет с каждым годом. Как отмечает Владимир Парфенов, директор регионального полуфинала чемпионата ACM ICPC в России и странах Северо-Восточной Европы, декан факультета информационных технологий и программирования Университета ИТМО, в 2004 году в мировом первенстве ACM ICPC принимало участие 8 000 программистов (включая региональные отборочные этапы), в 2016 – уже свыше 40 000.
  • За российскими вузами уже давно закрепилось положение лидеров чемпионата – наши команды 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 мая — РИА Новости. Команда Санкт-Петербургского государственного университета победила на студенческом чемпионате мира по программированию Ассоциации вычислительной техники (ACM-ICPC), сообщается на сайте вуза. Кроме того, команда МФТИ заняла на этом чемпионате 4 место и получила золотые медали, а еще три российских вуза — ИТМО, УРФУ и ННГУ — стали призерами.

"Наши студенты — Игорь Пышкин, Алексей Гордеев, Станислав Ершов — под руководством Андрея Лопатина решили несколько сложных задач за кратчайшее время и показали лучшие результаты", — отмечается в сообщении.

Представители Петербургского университета обошли соперников из Гарвардского университета, Массачусетского технологического института, Шанхайского университета Джао Тонг, Московского университета, а также петербургского университета ИТМО, команда которого заняла второе место.

Студенты СПбГУ уже выигрывали чемпионат мира в 2000, 2001 и 2014 годах. Университет ИТМО (университет информационных технологий, механики и оптики) становился абсолютным чемпионом ACM ICPC в 2004, 2008, 2009, 2012, 2013 и 2015 годах.

МФТИ, в свою очередь завоевал второе в своей истории золото —первые медали программисты из Долгопрудного завоевали в 2012 году, на чемпионате в Варшаве.

"Мы начали активно заниматься олимпиадами по программированию в МФТИ примерно одновременно с запуском учебных программ по Computer Science в 2011 году. С тех пор мы регулярно выходим в финал ACM ICPC. Финал этого чемпионата — это сотня сильнейших команд, сотня сильнейших вузов в области ИТ. Просто попасть в их число — это уже очень престижно для многих", — рассказывает Алексей Малеев, директор Центра развития ИТ-образования в МФТИ.

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

На протяжении трех последних десятилетий чемпионат ICPC — самое престижное в мире интеллектуальное состязание молодых программистов. Соревнование проводится под эгидой международной Ассоциации вычислительной техники ACM при поддержке компании IBM.

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

Первое командное соревнование по программированию под эгидой ACM прошло в Техасском университете в 1970 году. Нынешний формат чемпионат принял в 1977 году, когда его первый финал был проведен в рамках ежегодной конференции ACM по информатике.

Команда петербургского Университета ИТМО в седьмой раз завоевала золотые медали финальной части чемпионата мира по спортивному программированию ACM ICPC, который проходил в американском городе Рэпид-Сити (штат Южная Дакота). Второе место заняли учащиеся Варшавского университета, третье — Сеульского университета, четвёртое — Санкт-Петербургского государственного университета (СПбГУ). Честь ИТМО отстаивали студенты кафедры компьютерных технологий Иван Белоногов (4 курс бакалавриата), Илья Збань (4 курс бакалавриата) и Владимир Смыкалов (1 курс магистратуры). Тренером команды является обладатель престижной награды ACM ICPC Senior Coach Award Андрей Станкевич.

В отдельных категориях чемпионата мира золотые медали достались учащимся Санкт-Петербургского государственного университета (СПбГУ), серебряные медали — команде Московского физико-технического института (МФТИ), бронзовые — студентам Уральского федерального университета (УрФУ).

За места на пьедестале почёта боролись 27 команд, которые прошли предварительный отбор. В общей сложности в чемпионате мира приняли участие 133 команды, из них 13 — российские, представленные вузами Москвы, Санкт-Петербурга, Екатеринбурга, Новосибирска, Перми, Петрозаводска, Саратова, Самары и Томска.

ACM International Collegiate Programming Contest считается самым авторитетным в мире чемпионатом по спортивному программированию. Соревнование проходит ежегодно c 1977 года под эгидой Ассоциации вычислительной техники (ACM). Спонсором первенства выступает корпорация IBM. Победители ACM ICPC получают премию в $15 тыс.

«Эти дети решают задачи за три минуты. Да это же бред какой-то! И мне это нравится. Вот что бывает, когда дети нацелены на решение задач, у них есть необходимые ресурсы и поддержка, а также правильное тренерское руководство, и они идут к своей цели в течение года», — заявил исполнительный директор ICPC Билл Паучер.

Фундамент успеха

Итоговый этап финальной части чемпионат мира длился пять часов. Согласно условиям ACM ICPC, в распоряжении трёх студентов был всего один компьютер. Команда за минимально возможное время должна была составить алгоритм решения и написать код для как можно большего количества задач.

«В главном поединке ACM ICPC разгорелась нешуточная борьба — за час до окончания соревнований, когда турнирная таблица была заморожена, лидировал Университет ИТМО, однако до последнего оставалось загадкой, кто победит», — говорится в сообщении пресс-службы ИТМО.

Команда из Петербурга смогла справиться с 10 из 12 задач, но столько же задач решили её соперники. Тем не менее учащиеся ИТМО показали лучшее время — 845 минут. Ближайшие преследователи — студенты из Варшавы — справились с 10 задачами за 953 минуты.

«Мы видели, что у других команд есть потенциал, чтобы решить 11 задач. Однако нам повезло: никто больше 10 не решил», — заявил после церемонии награждения один из членов команды, Владимир Смыкалов.

Российские команды участвуют в первенстве ACM ICPC с 1995 года и смогли выиграть 12 из них. Команда ИТМО одерживала победу семь раз — в 2004, 2008, 2009, 2012, 2013 и 2015 и 2017 годах. СПбГУ одержал четыре победы — в 2000, 2001, 2014 и 2016 годы. В 2006 году золотые медали получили студенты Саратовского государственного университета.

  • Анатолий Шалыто
  • vk.com

Заведующий кафедрой технологии программирования ИТМО профессор Анатолий Шалыто прокомментировал RT победу студентов его вуза.

«У нас сильная математическая школа и два тренера-гения — оба Андреи Сергеевичи. Один — Станкевич, другой — Лопатин (наставник команды СПбГУ. — RT ), который создавал с Дуровым «ВКонтакте» и «Телеграмм». Он был двукратным чемпионом мира. Мы гордимся нашими детьми», — заявил Шалыто.

«Могу объяснить причину наших побед на одном примере. В 2013 году мы принимали чемпионат мира и взяли первое место. Казалось бы, тренер команды должен был уехать отдыхать куда-нибудь в Крым или на Бали. А он отправился проводить летнюю компьютерную школу и просил меня не звонить ему до 10 вечера, потому что он укладывает детей спать», — пояснил профессор.

Собеседник RT считает, что программирование можно сделать профессиональным видом спорта, хотя студенты с профессором не согласны. Тем не менее Шалыто надеется, что его пожелания услышит вице-премьер Виталий Мутко — и в будущем появится федерация спортивного программирования России.

«Вы посмотрите на результаты, которые показывают наши спортсмены в хоккее, футболе или в баскетболе. Вы можете представить, чтобы мы сейчас были семикратными чемпионами в каком-либо виде спорта? <...> Почему наш Станкевич не может быть заслуженным тренером России?»

Специалист по информационной безопасности Российского института стратегических исследований (РИСИ) Иван Моньков заявил RT, что фундаментом успехов российских программистов является советская/российская физико-математическая школа.

«Россия обладает превосходной научной базой для появления IT-специалистов экстра-класса. Несмотря на распад СССР, техническое образование в 1990-е годы осталось на очень достойном уровне. Поэтому я не удивлён, что наши ребята из года в год становятся чемпионами», — отметил Моньков.

«Вернуться в лидеры»

Университет ИТМО является единственным в мире семикратным чемпионом по версии ACM ICPC. В 2016 году в рейтинге среди лучших IT-вузов мира Times Higher Education петербургский университет занял 56-ю строчку.

История ИТМО началась 13 марта 1900 года, когда Николай II учредил ремесленное училище с механико-оптическим и часовом отделением. В 1920 году основные классы училища были преобразованы в техникум. В 1933 году на базе техникума был создан Ленинградский институт точной механики и оптики.

В 1994 году институт получил статус университета, что позволило открыть направления, связанные с информационными технологиями. Статус национального исследовательского университета ИТМО был предоставлен в 2009 году.

22 мая обозреватель Le Figaro Марк Шерки (Marc Cherki) написал, что ИТМО «готовит молодых гениев информатики, которые доминируют на престижнейших международных конкурсах». По его мнению, успехи петербургских студентов — свидетельство того, что Россия «стремится вернуться в лидеры мировой научно-исследовательской гонки».