Драма в трех актах из жизни программистов

Парфенов Владимир Глебович

ДРАМА В ТРЕХ АКТАХ ИЗ ЖИЗНИ ПРОГРАММИСТОВ

РЕБЯТА ИЗ ВЯТКИ И КОТЛАСА ПОБЕЖДАЮТ КОРЕННЫХ

ПЕТЕРБУРЖЦЕВ

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

Состязания молодых программистов вызвали огромный интерес у студентов -в них приняли участие 48 команд из 15 ведущих классических и технических университетов Санкт-Петербурга, Новгорода и Петрозаводска. Многие университеты выставили по несколько команд.

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

технологий и управления.

Пятью командами был представлен Санкт-Петербургский государственный электротехнический университет (Л ЭТИ), четырьмя - Санкт-Петербургский государственный технический университет (Политехнический институт) и Санкт-Петербургский государственный университет аэрокосмического приборостроения (ЛИАП).

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

Начало соревнований, казалось, полностью подтверждало прогнозы.

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

обще не удалось сдать ни одной задачи за все 5 часов состязаний. В дальнейшем «набравшие скорость» первые команды СПбГУ и СПбГИТМО энергично решали задачу за задачей, попеременно лидируя. Однако, решив по пять задач, неожиданно остановились (оставшиеся три задачи были наиболее сложными) и «забуксовали» на этапе решения шестой задачи.

П.- - - - ' : -у'- - 1 --=п .

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

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

Таким образом, первое место и звание чемпионов Санкт-Петербурга и Северо-Западного региона России завоевала команда СПбГИТМО, состоящая из первокурсника Ивана Прокушкина и второкурсников Олега Пестова и Евгения Южа-кова. Иван и Олег окончили среднюю школу в Вятке, а Евгений - в Котласе.

Второе и третье места заняли сформированные из второкурсников команды СПбГИТМО (Андрей Беломутский, Денис Кузнецов, Андрей Станкевич) и СПбГУ

(Николай Дуров, Олег Етеревский, Андрей Лопатин).

На четвертое призовое место вышла пятая команда СПбГИТМО (первокурсники Тимофей Бородин и Илья Зверев, второкурсник Александр Григорьев), Тимофей закончил школу в Костроме, Илья - в Пскове, а Александр - в Нальчике. Пятое призовое место заняла состоящая из первокурсников седьмая команда СПбГИТМО (Рюрик Крылов, Григорий Поликарпов, Филипп Филоненко), Рюрик закончил школу в городе Троицке Челябинской области, Григорий - в Санкт-Петербурге, Филипп - в Перми. Шестое призовое место заняла четвертая команда СПбГУ (Игорь Лабутин, Ростислав Пав-чинский, Сергей Якушкин), все участники которой учились в школьные годы в Санкт-Петербурге.

Необходимо отметить большой успех четырех команд из Петрозаводского и Новгородского государственных университетов, которые одни только оказались в состоянии соперничать с многочисленными командами СПбГУ и СПбГИТМО. При этом наиболее успешно выступила первая команда из Петрозаводска, решившая 5 задач и занявшая седьмое место. Из остальных петербургских вузов наиболее успешно, по видимому, выступил Санкт-Петербургский государственный электротехнический университет (Л ЭТИ), все пять команд которого решили по 3 задачи.

В полуфинал вышли по три команды СПбГУ и СПбГИТМО (для этих двух вузов по регламенту полуфинала представительство ограничено 3 командами), две команды из Петрозаводска, а также по одной команде из Новгорода и СПбГЭТУ.

ПОЛУФИНАЛЬНЫЕ СОРЕВНОВАНИЯ ЧЕМПИОНАТА МИРА ПО ПРОГРАММИРОВАНИЮ В САНКТ-ПЕТЕРБУРГЕ

Россия впервые получила право на организацию собственной полуфинальной Северо-Восточной Европейской группы в

сезоне 1996/97 гг. Организацию соревнований Директорат чемпионата поручил Санкт-Петербургскому государственному институту точной механики и оптики (техническому университету). В этом году полуфинальные соревнования прошли в Санкт-Петербурге уже в четвертый раз.

Итоги отборочных четвертьфинальных состязаний сезона 1999/2000 гг. показали огромный интерес вузов к этим соревнованиям. В частности, в этом году было организовано семь четвертьфинальных региональных групп, охвативших всю территорию России и стран ближнего зарубежья: Дальневосточная (вуз-организатор - Дальневосточный ГУ), Уральская (Уральский ГУ), Южная-Поволжская (Саратовский ГУ), Центральная (Рыбинская авиационная технологическая академия), Северо-Западная (СПбГИТМО(ТУ) и СПбГУ), Западная (Белорусский ГУ) и Сибирская (Новосибирский ГТУ). Всего в четвертьфинальных и полуфинальных соревнованиях приняли участие 237 команд из 118 вузов, представлявших практически все ведущие классические и технические университеты России, а также университеты Белоруссии, Грузии, Киргизии и Эстонии. Отметим, что в этом полуфинале впервые выступили две команды из Грузии. В будущем сезоне предполагается создать третью (дополнительно к петербургской и барнаульской) полуфинальную группу, включающую вузы Грузии, Армении и Азербайджана.

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

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

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

За последние три года сильно поднялся уровень многих российских и белорусских команд, и произошло выравнивание их сил. Соревнования стали гораздо более интересными, напряженными, подчас приносящими результаты, сильно расходящиеся с ожидаемыми. Огромное значение приобрел морально-психологический фактор, и сильно возросла цена ошибки или заминки, допущеннных в ходе соревнований. Список команд, которые «должны были» попасть в финал, стал сильно отличаться от списка действительно прошедших в финал команд. Результаты полуфинала по своей плотности стали все больше напоминать результаты финала. В связи с этим при их анализе стало целесообразным учитывать не только состав первой тройки призеров, но и группу ведущих команд, решивших больше половины (то есть 5 и больше) предложенных задач. В общем-то даже решение 4 задач в большинстве случаев можно рассматривать как определенный успех команды, поскольку обычно только полтора - два десятка вузов в состоянии формировать команды, способные показать такой результат.

Главными фаворитами соревнований считались первая команда СПбГУ, возглавляемая обладателем пяти золотых медалей Всемирных олимпиад школьников по математике и информатике, абсолютным чемпионом мира по математике среди школьников второкурсником матмеха Николаем Дуровым, первая команда МГУ, в которую входили два участника финала в Эйндховене, финалист Эйндховена -первая команда УрГУ, а также первые команды Б ГУ и СПбГИТМО(ТУ), которые, правда, полностью обновили свои составы по сравнению с составами команд, выступавшими в Эйндховене. Таким образом, предполагалось, что остальные команды будут бороться за «оставшуюся им от грандов» шестую путевку в финал.

Реальные ход и результаты состязаний сильно разошлись с предсказаниями экспертов.

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

На 43 минуте первую задачу сдала команда Тбилисского государственного университета, открыв страницу участия Грузии в соревнованиях АСМ. Отметим, что и в дальнейшем эта команда выступала весьма уверенно и на рубеже второго и третьего часа, решив третью задачу, вышла на 15 место. В дальнейшем грузинским студентам не удалось развить свой успех, но занятое ими в итоге 34 место следует рассматривать как хороший для первого раза результат.

На 23 минуте второго часа случилась первая неожиданность. Команда Южно-Уральского ГУ, занявшая на прошлогоднем полуфинале лишь 37 место, а на четвертьфинале этого сезона - 13 место, сдала четвертую задачу и вышла на первое место. Такого оборота дела никто не ожидал. Народ в комнате тренеров стал расспрашивать директора Уральского четвертьфинала М.О.Асанова о команде че-лябинцев.

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

Первая команда СПбГУ опустилась на пятое место. За почти два часа, прошедшие с момента сдачи третьей задачи, она сделала лишь ряд неудачных попыток на задачи E и G и вызвала у своих тренеров опасения, что события могут пойти

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

В середине третьего часа она сдала четвертую задачу, а на исходе третьего часа - пятую.

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

Жаркая борьба за путевки в финал разгорелась на последнем пятом часу борьбы. На второй минуте пятого часа шестую задачу сдала первая команда БГУ и вышла на первое место. Это событие вызвало дискуссию среди членов жюри и оргкомитета о возможности вручения кубка чемпионов России команде из другого государства в связи с предполагаемым подписанием договора между Россией и Бе-

лоруссией. Политико-юридическая дискуссия была прервана через 4 минуты первой командой СПбГУ, тоже сдавшей шестую задачу и вернувшей себе первое место. Стало ясно, что команды СПбГУ и БГУ едут в Орландо.

Претенденты на оставшиеся 4 места менялись в течение последних 45 минут по мере сдачи командами своих пятых задач. Первой сделала заявку команда Оренбургского ГУ на 16 минуте пятого часа. На 22 минуте четвертая команда МГУ вытеснила первую команду своего вуза из финальной шестерки. На 31 минуте в число финалистов вошла первая команда НГУ. Впервые команда из барнаульской группы стала финалистом!

На 34 минуте первая команда СПбГУ сдала седьмую задачу и окончательно утвердилась на первом месте.

На 36 минуте пятую задачу, наконец, после истечения более трех часов после сдачи своей четвертой задачи решила команда Ю-УрГУ и завоевала для родного Челябинска долгожданное место в финале. После этого свободным осталось только одно финальное место. Первым претендентом на него являлась команда Оренбургского ГУ. Сдавшие на 39, 40 и 41 минутах свои пятые задачи команды Пермского ГТУ, Петрозаводского ГУ и поднявшаяся в заключительные полтора часа соревнований с 52 места первая команда УрГУ проигрывали оренбур-жцам по времени.

За пять минут до конца соревнований, наконец, собралась с силами и сдала свою пятую задачу первая команда СПбГИТМО, потратившая на это «титаническое» усилие почти три часа. Выиграв у оренбуржцев 17 минут штрафного времени, команда СПбГИТМО «вскочила на подножку последнего вагона» финальной шестерки. Как отметил представитель генерального спонсора корпорации IBM Габби Зильберман, желая утешить директора Северо-Восточного Европейского региона профессора СПбГИТМО

В.Г. Парфенова - «Это очень удачно, Владимир, что Ваша команда выступила так слабо, - теперь, даже если у кого и была тень сомнения в объективности судейства и организации соревнований, то она окончательно рассеяна!» Эту тему затронул на закрытии и заместитель председетеля оргкомитета ректор СПбГИТМО профессор В.Н. Васильев: «Когда незадолго до конца соревнований мне сказали, что команда моего университета идет на восьмом месте, я сказал - не может быть! - и оказался прав - мы финишировали девятыми».

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

Таким образом, второкурсники мат-меха СПбГУ Николай Дуров, Олег Ете-ревский и Андрей Лопатин вернули Санкт-Петербургу титул чемпионов России. Эти ребята, обучавшиеся в школьные годы в знаменитом петербургском физико-математическом лицее № 239, выступают одной командой уже около пяти лет.

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

Сюрпризом стало третье место четвертой команды МГУ, составленной из студентов факультета вычислительной математики и кибернетики Андрея Беливан-цева, Олега Маликова и Александра Хох-лова.

Блестяще выступили команды ЮжноУральского ГУ (Михаил Согрин, Павел Устинов, Владислав Троценко) и Новосибирского ГУ (Алексей Бабурин, Евгений Четвертаков, Александр Шапеев), впервые прорвавшиеся в финал чемпионата мира и ставшие чемпионами Сибири и Дальнего Востока.

Успешно выступили команды Оренбургского ГУ и Петрозаводского ГУ, которые впервые вошли в группу 16 ведущих команд, решивших больше половины задач, а также команда Пермского государственного технического университета, вернувшаяся в эту группу через два года после своего седьмого места на полуфинальных соревнованиях 1996 года.

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

Шестнадцати командам, решившим 5 и более задач, были вручены дипломы АСМ с указанием занятого места.

Были присуждены и дипломы Четвертой Всероссийской олимпиады по программированию: 1 степени - командам СПбГУ и БГУ, решившим соответственно по 7 и 6 задач, 2 степени - 14 командам, решившим по 5 задач, 3 степени - 16 командам, решившим по 4 задачи.

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

УрГУ, занявшей на соревнованиях 10 место и показавшей лучший результат среди трех команд своего вуза. Всем девушкам были вручены специальные призы и дипломы.

ФИНАЛЬНЫЕ СОРЕВНОВАНИЯ ЧЕМПИОНАТА МИРА ПО ПРОГРАММИРОВАНИЮ

В финале 2000 года нашу группу представляли команды МГУ, СПбГУ, СПбГИТМО (ТУ), Новосибирского ГУ, Белорусского ГУ и Южно-Уральского ГУ (Челябинск).

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

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

Таким образом, команда СПбГУ, в которую входили студенты второго курса математико-механического факультета Николай Дуров, Андрей Лопатин и Олег Етеревский, впервые завоевала для России звание чемпионов мира по программированию. Тренировала команду преподаватель матмеха Наталья Николаевна Вояковская.

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

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

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

В обстановке крайней нервозности неплохо проявили себя и другие российские команды, вошедшие в группу команд, для которых организаторы указали занятые места - МГУ (17 место, 3 решенные задачи), НГУ (26 место, 2 решенные задачи), Южно-Уральского ГУ (27 место, 2 решенные задачи). Весьма неудачно выступила команда БГУ, не выдержавшая колоссального нервного напряжения соревнований и попавшая с одной решенной задачей в группу команд, записанных в протоколе в алфавитном порядке.

Отметим, что команда МГУ заняла почетное второе место на проходившем за день до основных соревнований конкурсе по решению специальных задач при помощи продукта Visial Age, разработанного корпорацией IBM.

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

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

НАШИ АВТОРЫ