Наука и IT

«Чувства великолепные»: команда из Архангельска в финале чемпионата мира по программированию

12 дек 2018, 11:19
Студенты САФУ Тимур Гурьев, Павел Асютченко и Денис Дьячков в марте 2019 года отправятся в португальский город Порту. Успешно преодолев несколько региональных этапов отбора, команда вышла в финал крупнейшей олимпиады ACM ICPC.

Найти решение, оформить в алгоритм и не поругаться

Международная студенческая олимпиада по программированию (ACM ICPC) — самый престижный студенческий чемпионат, состоящий из нескольких этапов отбора. К участию допускаются команды из трех человек не старше 24 лет. Соревнования проходят по пять часов: за это время студентам нужно найти решение на как можно большее количество предложенных задач. Так, например, одним из заданий полуфинала было написать алгоритм, способный за две секунды найти число, количество делителей которого совпадает с любым заданным. Или нужно разбить прямоугольники на минимальное число квадратов.

«Соревнования по программированию похожи на олимпиады по математике: здесь важнее найти идею, на которой строится решение. Задачи тоже вполне математические, только их решает не человек, а компьютер по алгоритму, который мы должны запрограммировать», — объясняет Павел Асютченко.

Молодой человек сейчас учится на третьем курсе, и новичком в олимпиадах его уже не назовешь: в них он участвует со школы. Компьютер в его семье появился, когда ему было 5 лет. Родители купили технику для работы, и Павел заинтересовался ее устройством. Чемпионаты для него как спорт, который приносит радость общения, поездок и работы в команде.

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

Команда из САФУ стала одной из 15 лучших команд, наряду с такими вузами как МГУ, ВШЭ, ИТМО, СПбГУ. Всего в полуфинале принимало участие 299 команд. Ребята повторили успех 2015 года — тогда архангелогородцы впервые в истории вышли в финал чемпионата мира.

 Приучает не бояться сложных задач

«Мне еще с начальной школы казалось, что в будущем хочу заниматься программированием. Но я думал, что это слишком сложно, нет смысла начинать, поэтому впервые попробовал только в 10 классе. И оказался очень сильно неправ! Теперь жалею, что не начал в восемь лет, как сделали все участники лучших мировых команд», — рассказывает студент второго курса Денис Дьячков.

Когда он поступил на первый курс, то сразу начал ходить на еженедельные тренировки по олимпиадному программированию в САФУ. Там тренер Кирилл Бутин, ассистент кафедры информатики и информационной безопасности, и предложил ребятам объединиться в одну команду. Открытые тренировки проходят по формату соревнований: на них решают задачи по программированию, иногда они взяты из полуфиналов и финалов чемпионатов прошлых лет. Задания подбирает Кирилл Бутин, он же организует поездки на соревнования и тренировочные сборы.

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

«Перед полуфиналом мы тренировались командой три раза в неделю по пять часов. После января заниматься нужно будет в разы больше, чтобы как можно выше подняться в финале. Программирование — однозначно мое хобби! Иначе вряд бы я нашёл в себе силы отдавать на него столько времени», — говорит Денис Дьячков.

Интрига держалась до конца: во время подведения итогов полуфинала команду вызвали на сцену последними. «Чувства были великолепные, очень неожиданно и волнительно», — вспоминает Денис.

Этого момента Тимур Гурьев ждал четыре года, он принимает участие в чемпионате ACM ICPC в пятый раз. «Это приучает не бояться решать сложные задачи, развивает творческое мышление, — комментирует Тимур. — Навык программирования позволяет тестировать свои модели, автоматизировать рутинные действия — на компьютере можно перебрать то, что для человека было бы слишком долго». Когда появился его первый стационарный компьютер, у молодого человека не было ни малейшего представления о том, чем он будет заниматься в будущем. Все сохранялась хаотично, некоторые используемые программы не устанавливались. Сейчас у него в ноутбуке царит полный порядок, и сделано все для удобства. Однако важно, по мнению Тимура, уметь адаптироваться и к чужой технике — код, над которым работает программист принадлежит не только ему, поэтому крупные компании часто выдают свои компьютеры.

«Ты ж программист», «хватит сидеть за компьютером» — немного о любимых фразах

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

«Мои родители уже давно свыклись. К тому же им приятно, когда я успешно выступаю», — добавляет Тимур.

Заключительный этап чемпионата пройдет в Португалии с 31 марта по 5 апреля.

Елизавета Ламова
Скрыть комментарии