International Collegiate Programming Contest – так звучит название главного чемпионата по спортивному программированию, который изначально проводился исключительно среди вузов США и Канады, но после 1990 года распространился на другие континенты. Дебютным для российских программистов стал 1993 год, с тех пор студенты из России не раз становились не только участниками финала ACM ICPC, но и его победителями. Рекордсменом по числу побед является Университет ИТМО, команды которого взяли «золото» пять раз, три раза выиграли студенты Санкт-Петербургского государственного университета, одна победа на счету Саратовского государственного университета. Помимо этих вузов, в Марокко отправятся команды из МГУ, МФТИ, МИСиС, ВШЭ, КФУ и других ведущих университетов страны.

Фото: http://icpcnews.com/
Фото: http://icpcnews.com/
Чтобы выйти в финал, необходимо показать лучшие результаты в промежуточных этапах соревнования, в которых участвуют около 13 тысяч команд из почти трех тысяч вузов 90 стран мира. Поэтому еженедельные тренировки как локального, так и международного уровня составляют часть жизни любого спортивного программиста.

Возможностей для испытания своего интеллекта в условиях, максимально приближенных к реальности чемпионата ACM ICPC, предостаточно. Ежегодно для команд по спортивному программированию проводятся летние и зимние сборы в Петрозаводске и Ижевске: туда приезжают не только российские программисты, но и участники из Польши, Чехии, Японии, Украины, Беларуси. Кроме того, в течение года проходит десяток открытых чемпионатов, где всегда можно встретить потенциальных финалистов ACM ICPC. Среди них – Всесибирская олимпиада имени И.В. Поттосина в Новосибирске, чемпионат БГУИР в Беларуси, Кубок Векуа в Тбилиси, Открытый чемпионат республики Татарстан ICL, Чемпионат Урала. Правила те же, что и на всемирном чемпионате: командам дается пять часов на решение 10-12 математических задач.

Фото: http://icpcnews.com/ По подсчетам чемпиона ACM ICPC 2009 года, ассистента кафедры компьютерных технологий Университета ИТМО Максима Буздалова, в среднем студент, участвующий в чемпионате по спортивному программированию, решает около 1000 задач в год. С 2010 года он занимается подготовкой иностранных команд к крупным соревнованиям по программированию. Недавно он вернулся из Цюриха, где вместе с чемпионом ACM ICPC 2012 и 2013 годов Ниязом Нигматуллиным провел интенсивную недельную тренировку для швейцарских команд, включающую теоретические лекции, решения задач и разбор ошибок. Пять лет назад Швейцария стала первой страной, со студентами и школьниками которой стали работать программисты-чемпионы из российского Университета ИТМО. Сейчас среди желающих поучиться у сотрудников вуза-пятикратного победителя ACM ICPC команды из Бразилии, США, Мексики, Финляндии и Китая.

«Тренировки позволяют быстрее строить математическую модель задачи, быть более точным и аккуратным в написании кода. Знание разнообразных алгоритмов решения, которые накапливаются в течение всей практики обучения студентов, также поможет сориентироваться в заданиях, – рассказывает Максим Буздалов. – Все эти умения наряду с интеллектуальной смекалкой, позволяющей находить нетривиальные решения, и формируют спортивного программиста. Каждый год чемпионат эволюционирует, поэтому тренерам команд нужно постоянно держать себя в хорошей “спортивной” форме. Бессменный тренер Университета ИТМО Андрей Станкевич, например, постоянно участвует в различных индивидуальных соревнованиях по программированию».

В последний месяц перед финалом ACM ICPC мобилизируют силы все российские участники.  

«Команда нашего университета участвует в финале впервые, – делится тренер команды Казанского федерального университета Камиль Хадиев. – Мы тщательно готовимся, поэтому, думаю, у ребят хорошие шансы. На этой неделе отправимся на Чемпионат Урала, чтобы еще раз потренироваться в условиях, максимально приближенных к “боевым”. Важно, чтобы ребята не только боролись за медаль чемпионата, но также получили удовольствие от решения задач».

От Университета ИТМО в Марокко выступят Геннадий Короткевич, первый в истории победитель соревнований «Большого шлема» в спортивном программировании, Артем Васильев и Борис Минаев.

Пресс-служба Университета ИТМО