Сборная УрФУ по программированию предпочла лекции в университете стажировке в «Фэйсбуке»

На фото (слева направо) Денис, Александр и Олег. Ребята признаются, что соревнования по программированию — совсем не зрелищный вид спорта. Самый волнующий момент — обратный отсчёт и старт, после которого можно пять часов наслаждаться тишиной. Фото Владимира Яковлева.

В июне в Екатеринбурге пройдёт финал ICPC — крупнейшей мировой студенческой олимпиады по спортивному программированию. Российские команды выигрывали её восемь раз за последние 13 лет. Зарубежные соперники жалуются: эти русские чересчур умные, с ними неинтересно. Редакция «НЭ» решила выяснить, как тренируются наши программисты, какую тактику они используют на соревнованиях и какие перспективы открывает для них олимпиада? Для этого мы поговорили со сборной УрФУ — единственной командой, которая с 21 по 25 июня будет представлять Свердловскую область на чемпионате ICPC.

Перед тем как попасть в финал, екатеринбургские программисты прошли несколько отборочных этапов, в которых участвовало около тридцати тысяч студентов из 2500 университетов мира. В полуфинале наши спортсмены заняли четвёртое место. Теперь магистранты Института математики и компьютерных наук УрФУ Денис Мухаметьянов, Олег Меркурьев и Александр Красносельских надеются улучшить свой результат.

Александр и Денис заинтересовались информатикой ещё в старших классах. Будучи одиннадцатиклассником СУНЦ УрФУ Саша записался в секцию по программированию. Процесс решения задач настолько увлёк выпускника, что он тут же определился с будущим местом обучения — матмех Уральского федерального. Денис вплоть до 10 класса в практическом программировании вообще не разбирался. Потенциал в молодом человеке раскрыл нынешний тренер ребят Михаил Рубинчик, который заметил парня и сагитировал его поступать в Институт математики и компьютерных наук УрФУ. Позже всех подключился Олег. Талантливого математика в молодом человеке также разглядел Михаил, когда тот учился на втором курсе.

— Ребята, с обычным спортом всё понятно: записался в секцию, ходишь, занимаешься. А как стать спортсменом-программистом?

Денис:У нас всё примерно так же. Поступаешь на матмех и, если есть желание, записываешься в секцию по программированию. Для ребят читают отдельные лекции, проводят семинары и тренировки. Со временем выявляются лидеры, наставники объединяют их в команды. Год назад мы собрались по этой же схеме. Нужно было понять, какая команда из УрФУ займёт место предыдущей сборной. Такой не нашлось. Поэтому тренер собрал нас из разных коллективов. В программировании вообще большая редкость, когда ребята собираются на первом курсе и выступают в таком составе до конца. Лично я за годы обучения успел «поиграть» в семи командах.

— Расскажите, как готовитесь к финалу чемпионата?

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

Олег у нас главный математик, он решает задания вручную. А мы с Денисом «кодеры» — переводим предложенное решение на язык программирования и отправляем на проверку, если неверно, то нам его возвращают на доработку.

Олег:Сейчас у нас две тренировки в неделю, которые проходят в условиях, приближённых к тем, какие нас ждут на чемпионате. Помимо этого, мы выезжаем на сборы, самые полезные из которых проходят в Петрозаводске и Ижевске. Выглядят они примерно как День сурка: просыпаешься, пять часов без перерыва решаешь задачи, программируешь, смотришь на часы, а там уже два ночи, ложишься спать. Потом всё заново. Из 11 дней на отдых даётся всего три.

— Из чего складывается удачное выступление на соревнованиях: гениальность спортсмена, везение, бесконечные тренировки?

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

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

О.: Большое значение имеет тактика. Например, в команде-победительнице прошлого года — питерского университета информационных технологий (ИТМО) — два математика и один «кодер». У нас наоборот. Поэтому мы можем одновременно писать две задачи: один на компьютере, второй — на бумажном листочке. И ещё мы стараемся не тормозить на тех задачах, которые не поддаются решению долгое время. Их лучше сразу откидывать в сторону и браться за другие.

— Ребята, есть ли практическая польза от участия в подобных чемпионатах?

Д.: Нас втроём позвали на стажировку в «Фэйсбук», которая начнётся этим летом, а закончится осенью. Поеду один, так как Олег захотел стажироваться и развиваться в России, а Саша отказался в последний момент.

А.: Время стажировки пересекается с началом учебного года. Во мне сработал какой-то ученический инстинкт, в духе — нужно учиться. И я передумал, о чём сейчас немного жалею.

Д.: В принципе сегодня нет смысла уезжать за границу. Сейчас зарплаты разработчиков и программистов в России фактически сравнялись с уровнем Кремниевой долины. Талантливых ребят после окончания вузов с руками и ногами отрывают. Я вот тоже планирую вернуться.

Мнение

Магаз АСАНОВ — декан департамента математики, механики и компьютерных наук УрФУ, директор по подготовке к чемпионату мира по программированию 2014 года:

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

Сюжет

Чемпионат мира по программированию - 2014
С 22 по 26 июня 2014 года в Екатеринбурге пройдёт финал ICPC — крупнейшей мировой студенческой олимпиады по спортивному программированию.

Областная газета Свердловской области