Второе «Золото» Санкт-Петербурга

Лопатин Андрей Сергеевич

ВТОРОЕ «ЗОЛОТО» САНКТ-ПЕТЕРБУРГА

Аннотация

О системе подготовки команды программистов математико-механического факультета Санкт-Петербургского университета, получившей золотые медали на Международном студенческом командном чемпионате по программированию ACM ICPC 2009 года, рассказывает её тренер.

Ключевые слова: олимпиады по программированию, работа тренера, система подготовки команды.

21 апреля 2009 года в г. Стокгольме (Швеция) прошёл финал 33 командного чемпионата мира по программированию ACM ICPC. Команда математико-механи-ческого факультета СПбГУ «Бурундучки» заняла 3 место и завоевала золотые медали. Насколько же сложно добиться такого результата, и каково его значение?

В этом году в отборочных соревнованиях чемпионата мира приняли участие 7109 команд из 1838 университетов 88 стран мира. До финала дошли только лучшие из лучших - всего 100 команд. Среди них была и наша команда. «Бурундучки» уже не первый раз выступают в финале, в прошлом году они завоевали бронзовую награду. К сожалению, по правилам чемпионата, никакой участник не имеет права выступать более двух раз, поэтому второе выступление команды неизменно оказывается последним. Это еще больше усиливает психологическое напряжение во время соревнований, справиться с которым очень нелегко.

Путь нашей команды к вершине был долог и труден. Начался он в далёком 2004 году, когда тренер команд СПбГУ Андрей Сергеевич Лопатин впервые решил попробовать себя в качестве тренера школьников. На всероссийских школьных сборах по

© А.С. Лопатин, 2009

информатике он познакомился с талантливым девятиклассником Серёжей Копелио-вичем, который уже тогда мог решать сложнейшие задачи по программированию. Тогда и родилась безумная идея - попробовать создать команду школьников, которая могла бы соревноваться со студентами. Через два месяца команда из трех петербургских школьников поехала в г. Петрозаводск на сборы, на которых традиционно дважды в год встречаются все сильнейшие студенческие команды-финалисты из России и близлежащих стран. Кстати, бессменным председателем жюри сборов уже 7 лет является всё тот же A.C. Лопатин.

Первый блин оказался комом - команда заняла всего лишь 19 место из 27, что для первого раза, хоть и неплохо, но хотелось большего. Тем не менее, был приобретен бесценный опыт, тем более, что несколько студенческих команд все же удалось обыграть.

Стало ясно, что необходимы долгие и упорные занятия. Сережу Копелиовича пригласили на специальные лекции центра подготовки одарённых программистов, которые каждый год проводятся на мат-мехе для лучших студентов-олимпиадников. Вместе с собой Серёжа привёл нескольких своих товарищей, среди которых был девятиклассник Юра Петров.

ПОДГОТОВКА СПЕЦИАЛИСТО: новые методы обучения

53

Лопатин А.С.

Уже через месяц Серёжа и Юра занимали с большим отрывом первые места на тренировках группы первого года обучения и начали посещать занятия старшей группы. Поначалу задачи старшей группы оказались для них сложными, но ребята были упорными и самостоятельно дорешивали многие из них на специальной интернет-системе дорешивания, разработанной в нашем университете. Поэтому, когда состоялась командная всероссийская олимпиада школьников, команда Центра Подготовки СПбГУ пришла во всеоружии, и заняла второе место, несмотря на то, что в ней не было ни одного одиннадцатиклассника.

Уровень команд и уровень каждого из участников неуклонно рос, но и наши школьники не сдавались. Постепенно они начали входить в верхнюю половину таблицы результатов даже среди лучших российских студенческих команд. Серёжа Ко-пелиович дважды (2005 и 2006 г.) прошёл на международную олимпиаду школьников и оба раза получил золотую награду. Юра Петров в 2007 году стал победителем международного турнира TopCoder High School Tournament, в котором участвовали многие сильнейшие школьники со всего мира. Примерно в это же время к команде присоединился еще один талантливый петербур-жский школьник Олег Давыдов. Кстати, интересно, что все участники команды учились в физико-математическом лицее № 30.

К моменту поступления на мат-мех команда «Бурундучки» входила в тройку сильнейших российских команд. Теперь главное было - удержать этот уровень и подготовиться к достойному выступлению уже среди студенческих команд со всего мира.

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

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

Хочется сказать огромное спасибо руководству математико-механического факультета - декану Г.А. Леонову, зам. декана С.М. Селеджи, зав. кафедрой системного программирования А.Н. Терехову, которые сыграли большую роль в решении возникших проблем. У нашего центра появились хорошие спонсоры, которые начали поддерживать команды - «vkontakte.ru», «Северен-Телеком», «Ланит-Терком», «SPb Software House».

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

Несмотря на довольно тяжелый ход соревнований, наша молодая команда смогла справиться с огромной психологической нагрузкой и попала в число медалистов, которых всего 12 из 100 участвующих команд. Команда «Бурундучки» заняла 11 место и завоевала бронзовые награды.

Во второй (и последний) раз необходимо было во что бы то ни стало улучшить уровень выступления команды. Для этого тренеры команды сделали ставку на две вещи - борьбу с психологическими трудностями и решение сложных задач. Из тренировочных заданий удалялись все простые задачи и задачи средней сложности и оставлялись только «гробы». Естественно, что это привело к увеличению нагрузки на команду -совмещать регулярные пятичасовые тренировки с учебой достаточно тяжело.

54

КОМПЬЮТЕРНЫЕ ИНСТРУМЕНТЫ В ОБРАЗОВАНИИ. № 3, 2009 г.

Второе «золото» Санкт-Петербурга

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

В Стокгольм наша команда прилетела 17 апреля. События в рамках чемпионата занимают пять дней. Само соревнование проводится на четвертый день, а на пятый команды начинают потихоньку разъезжаться по домам. В этот раз чемпионат мира быт недалеко. Каждый год чемпионат проводится в разных местах, в таких как Сан-Анто-нио (США), Банф (Канада), Токио (Япония), Шанхай (Китай). Представители организаторов встречали команды в аэропорту и помогали добраться до отеля. На следующий день быта регистрация и фуршет, на котором команды и тренеры из различных стран могли встретиться и пообщаться друг с другом. На нем быти различные развлекательные мероприятия, например караоке. На регистрации участники получают различные сувениры, в том числе и мягкие игрушки, как-то ассоциирующиеся со страной проведения финала.

На следующий день участников повезли в древний замок - слушать выступление представителей IBM - компании, которая уже 12 лет является основным спонсором этих соревнований. После выступления ребят разбили на команды по пять человек по жеребьевке, и они приняли участие в игре вроде «Форт Байярд». После обеда во второй половине дня состоялась торжественная церемония открытия в City Hall (известная достопримечательность, здание городского совета Стокгольма).

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

няющие вопросы. По правилам соревнований каждая команда состоит из трех человек и ей предоставляется один компьютер. Вечером все могут прийти в «CyberCafe», один из залов отеля, где можно пообщаться друг с другом, поиграть и немного перекусить. В этот же день была встреча тренеров с исполнительным директором финала Биллом Пучером, который сообщил, в частности, что следующий финал состоится в г. Харбине (Китай), а в ближайшем будущем планируется также проведение финала в Санкт-Петербурге.

21 апреля, в девять утра по местному времени начался сам финал чемпионата мира по программированию. Само соревнование длилось пять часов. Тренеры и остальные болельщики в это время находились в другом помещении, где им показывали не только текущую таблицу результатов, но и видеотрансляцию из зала соревнования. В предыдущие годы тренеры наблюдали за ходом финала со своей отгороженной части зала, а в этом году тренеров «водили на экскурсии». Каждые 10 минут отправлялась группа по 25 человек. Тренеров строго заставляли молчать и проводили по балкончикам высоко над залом участников в комнату пресс-службы и в комнату жюри. По уже давно сложившейся традиции каждой задаче сопоставлен воздушный шарик определенного цвета, и, как только какая-нибудь команда правильно сдает задачу, ей приносят соответствующий шарик и привязывают к столу. Таким образом, можно визуально видеть, какие задачи больше всего решены, какие команды лидируют. В последний час для создания интриги текущие результаты перестают обновляться, и за ходом соревнований можно следить только по разносимым шарикам. Правда, в этом году в последний час шарики не разносили. Поскольку в этом году финал транслировался по шведскому телевидению, то результаты объявили не на награждении, как было раньше, а уже через час после окончания соревнований.

Сама церемония награждения и закрытия чемпионата проходила в концертном зале Concert Hall Стокгольма, где чествуют лауреатов Нобелевской премии. Призовыми

ПОДГОТОВКА СПЕЦИАЛИСТО: новые методы обучения

55

Лопатин A.C.

местами считаются первые двенадцать, причем первые четыре - это золотые медали, потом четыре - серебяные и четыре - бронзовые. Иногда организаторы дают дополнительную бронзовую медаль за 13-е место, если отрыв от 12-го места очень маленький. В этом году команды России достигли грандиозного успеха, завоевав три золотые и одну серебряную медаль. Две команды из Санкт-Петербурга вошли в первую тройку: команда СПбГУ ИТМО заняла первое место и команда СПбГУ - третье (золотые медали). Команда Саратовского государственного университета заняла четвертое место (золотые медали), а команда Алтайского государственного технического университета - восьмое место (серебряные медали).

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

Интересно, что в Санкт-Петербурге создалась уникальная в мире ситуация - в нашем городе есть два вуза, которые регулярно проходят в финалы чемпионата мира -СПбГУ и СПбГУ ИТМО. При этом СПбГУ ИТМО рассматривает командные студенческие чемпионаты мира по программированию как один из основных движущих факторов дальнейшего развития своего вуза, и процесс подготовки и участия команд курируется лично ректором.

Еще ни разу командам никакой страны не удавалось получить три из четырёх золотых медалей. Это уникальное достижение наших команд было оценено на высочайшем уровне, и 6 мая состоялась встреча золотых призёров чемпионата с президентом Российской Федерации Д.А. Медведевым, а накануне - встреча с министром образования и науки А.А. Фурсенко.

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

Хочется пожелать дальнейших успехов всем российским командам, и в особенности командам СПбГУ, которые придут на смену «Бурундучкам». Ведь именно от них зависит будущее страны.

Abstract

The training system for preparing of programmers command for ACM ICPC is presented by the trainer of the command which won gold medals on the last championship.

Лопатин Андрей Сергеевич, старший преподаватель кафедры системного программирования математико-механического факультета СПбГУ, руководитель Центра подготовки одаренные программистов при СПбГУ, cotinco@mail.ru

© Наши авторы, 2009. Our authors, 2009.

56

КОМПЬЮТЕРНЫЕ ИНСТРУМЕНТЫ В ОБРАЗОВАНИИ. № 3, 2009 г.