Петербургские программисты – первые в Минске

Петербургские студенты заняли призовые первое и третье места на прошедшем на прошлой неделе в Минске финале «Зимнего Кубка по спортивному программированию 2006-2007». Мероприятие проводится в четвертый раз в рамках интернет-проекта Test-The-Best.

Проект Test-the-Best (TTB) стартовал в 2004 году и на данный момент является единственным в СНГ интернет-проектом, организующим и проводящим регулярные соревнования по спортивному программированию в индивидуальном зачете. К сегодняшнему дню на сайте было проведено 56 состязаний. Проект объединяет почти 4 тыс. любителей спортивного программирования. Конкурсы проводятся через Интернет, благодаря чему возможность участвовать получает любой программист, имеющий доступ к Интернету и владеющий русским языком, на котором публикуются конкурсные задания. Исключением являются финалы Кубков, которые проводятся в очной форме. С самого начала генеральным спонсором проекта TTB является разработчик ПО компания Epam Systems.

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

«Зимний кубок по спортивному программированию» является отдельным мероприятием с собственным призовым фондом. Его главная особенность - финал, проводимый в очном формате. Старт соревнований сезона 2006-2007 годов состоялся 20 ноября 2006 года, заявку на участие подали 699 программистов из 11 стран: России, Беларуси, Украины, Грузии, Армении, Литвы, Латвии, Эстонии, Кыргызстана, Казахстана и Болгарии. До 2 декабря были проведены четыре квалификационных тура, по их итогам были отобраны 120 человек, набравших наибольшее количество баллов. Квалификационные туры шли по часу, на них предлагалось решить по две задачи. А 3 и 18 декабря состоялись два отборочных тура, по их итогам сначала осталось 36, а затем 12 человек, которые и вышли в финал. Квалификационные туры длились по два часа, на них предлагалось решить по три задачи. Примечательно, что фактически задачи второго отборочного тура оказались настолько сложными, что решить хотя бы одну из них смогли только семь человек. В результате, поскольку финалистов должно было быть 12, оставшиеся пять человек были отобраны по результатам первого отборочного тура. Финал «Зимнего кубка по спортивному программированию 2006-2007» состоялся 16 февраля 2007 года в Минске на базе минского центра разработки компании Epam Systems. В нем приняли участие восемь россиян, три представителя Украины и один - Белоруссии.

Задачи, предлагаемые на всех турах, были обычными для такого рода состязаний. Для их решения нужно иметь определенные познания в математике и алгоритмах, а также уметь программировать на одном из конкурсных языков: C++, C#, Pascal, Java. Участие в соревновании выглядит следующим образом. Необходимо открыть задачу, прочесть условие, найти его математическое решение, придумать алгоритм, реализовать решение на одном из языков программирования, скомпилировать его, проверить его правильность на базовом наборе тестов, доступном во время конкурса, отправить на конкурсный сервер. Баллы начисляются за решенные задачи, причем, чем быстрее участник отправил правильное решение, тем больше баллов он получает. Все это происходит на игровой арене, которая представляет собой интерактивное динамическое веб-приложение, где также можно находиться в качестве наблюдателя и следить за ходом конкурса. После окончания фазы кодирования (обычно она длится 2 часа), наступает фаза тестирования, когда решения прогоняются уже на полном наборе тестов. Это занимает от 15 минут до 1 часа в зависимости от количества тестов и решений. Тогда и становится окончательно известно, правильно ли участник решил задачу. Отметим, что тестирование также идет в динамике и за ним можно наблюдать онлайн.

Победителем «Зимнего кубка по спортивному программированию 2006-2007» стал студент Санкт-Петербургского государственного университета информационных технологий, механики и оптики (ИТМО) Михаил Дворкин. Он получил в качестве приза ноутбук HP nx7300. В марте Михаил Дворкин в составе команды ИТМО будет представлять свой университет на финале ACM ICPC в Токио. Еще один петербуржец Павел Маврин занял третье место, получив приз КПК HP IPAQ hx2190. Второе место занял киевлянин Михаил Рыбак, ему достался коммуникатор Qtek S200.

Отметим, что спортивное программирование сегодня набирает все большую популярность в среде студентов. Начало этому виду интеллектуального спорта положили традиционные школьные и студенческие олимпиады по информатике. В последние годы конкурсы такого рода вышли за стены образовательных учреждений и стали приобретать самостоятельные черты, что привело к рождению нового вида спорта. Сегодня активными членами сообщества спортивного программирования являются тысячи человек по всему миру. Самые известные международные состязания по спортивному программированию - студенческий чемпионат мира ACM IСPC и TopCoder.com. Последняя представляет собой лигу соревнований по программированию, которая с 2001 года регулярно организует различные чемпионаты, самым крупным из которых является TopCoder Open. Как правило, компания привлекает для спонсорской поддержки такие компании, как Sun Microsystems, IBM, Intel и т.п. По итогам соревнований формируется своеобразный список лучших программистов, чьи кандидатуры могут быть предложены для работы в данных компаниях. В частности, на базе схемы проведения алгоритмических соревнований компании TopCoder построены чемпионаты серии Google Code Jam. Напомним, что участником соревнований данной серии прошедших в 2006 году – европейском Google Code Jam Europe и международном Google Code Jam – также стал житель Петербурга, сотрудник петербургской компании «Эксперт-Система» (торговая марка для западных рынков Devexperts) Роман Елизаров (см. выпуски новостей от 11 июля и 29 сентября 2006 г.).

Рубрики: ПО, Outsourcing, Кадры, Web