Обложка статьи

Спорт и код: как проходят тренировки чемпионов мира по программированию

Чемпионат ACM ICPC проводится Ассоциацией вычислительной техники (Association for Computing Machinery, ACM) при спонсорской поддержке корпорации IBM и считается старейшим и самым престижным соревнованием по спортивному программированию среди студентов.

В ходе контеста студенты должны за минимальное время решить максимальное число предложенных задач, которые созданы из спектра проблем инициативы IBM «Разумная планета». Всего на решение задач отводится пять часов.

«Чемпионаты друг от друга в основном отличаются только местом проведения, потому что организаторы стараются создать максимально схожие условия для программистов», — рассказывает Адам Бардашевич, участник команды Университета ИТМО. «Если бы я организовывал чемпионат, то сократил бы время до 3,5 часов, — шутит о прошедшем контесте серебряный чемпион из Университета ИТМО Антон Ковшаров (через 3,5 часа команда была первой в списке— прим. ред), — Нам не хватило времени на чемпионате: не стоило браться за решение нескольких задач сразу». Также он отметил, что на Западе до сих пор удивляются победам команд Андрея Станкевича. Адам и Антон уже не могут принять участие в следующем чемпионате — на ACM ICPC можно участвовать только два раза. Но Владимир Смыкалов, третий участник команды, решительно настроен на победу в следующем соревновании.

С каждым годом сложность чемпионатов увеличивается. За последние шесть лет поменялся и тип задач: раньше они были в большинстве на реализацию, сейчас — на придумывание. «В таких задачах большая часть времени уходит на разгадывание решения. А вот решение задачи на реализацию обычно очевидно и сложность в том, чтобы его написать на языке программирования, — поясняет Антон. — На прошедшем чемпионате одна задача была на стандартный алгоритм, а мы этого не ожидали — придумали красивое решение, которое оказалось неправильным».

Команда Университета ИТМО (слева-направо): Адам Бардашевич, Владимир Смыкалов, Антон Ковшаров 

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

Тренер команды СПбГУ и чемпион мира из Университета ИТМО рассказали «Мегабайту» об особенностях подготовки в их вузах.

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

—  Андрей Лопатин, тренер команды СПбГУ

Студенты собираются два раза в неделю и пять часов решают контест, максимально приближенный к условиям чемпионата. После соревнования команды обсуждают задачи, объясняют друг другу решение. Если задачу никто не решил, то обсуждают её вместе. Ещё мы проводим занятия для первокурсников, чтобы они получили знания, которые не дают в школе: кто-то из «ветеранов» читает им лекцию, рассказывает базовые вещи. Командные соревнования сложнее личных: надо синхронизировать работу трёх людей. Надо уметь кооперироваться внутри команды, понимать, что делают другие и помогать напарникам. Грамотно спланировать время, потому что компьютер один, а участников трое. Поэтому обычно в течение первого полугода ребята привыкают друг к другу. Сложно формировать саму команду. Но Андрей Станкевич — мастер этого дела. Обычно приходит толпа народа и из них надо создать «боевые» тройки. Я не знаю, как у Андрея Сергеевича получается формировать команды: он генианально распределяет ребят по силам и психологическим особенностям. 

— Павел Маврин, чемпион мира по программированию 2004 года

 

 Фото команды: Антон мальков

 

25 мая 2016

Еще почитать по теме

Обложка статьи
Школа пивоварения в Университете ИТМО
В Университете ИТМО Институт холода и биотехнологий совместно с Центром Дополнительного Профессионального Образования запускает «Краткий ознакомительный курс пивоварения». В первую очередь он рассчитан на новичков. Однако варка производится на профессиональном оборудовании. Первое занятие второго набора пройдет 27 февраля. 
Обложка статьи
Школа пивоварения в Университете ИТМО
В Университете ИТМО Институт холода и биотехнологий совместно с Центром Дополнительного Профессионального Образования запускает «Краткий ознакомительный курс пивоварения». В первую очередь он рассчитан на новичков. Однако варка производится на профессиональном оборудовании. Первое занятие второго набора пройдет 27 февраля.