- Существуют два способа посылать свое решение в судейскую систему: в открытую и в закрытую, - рассказал отвечавший за разработку заданий преподаватель Школы анализа данных Михаил Левин. - В первом случае участник сразу получает вердикт: правильно решил задание или нет. Если что-то не удалось, можно поискать ошибку и отправить свой программный код еще раз. Во втором - узнает о своем результате только при оглашении итогов соревнований. В таком случае неверно написанное исправить уже невозможно. Но за риск участник получает бонусные баллы.
Именно набранные бонусы вывели Геннадия на первое место. Он, как и еще десяток участников, смог правильно выполнить четыре задания из шести. Это считается неплохим результатом. Победу юноше принесла тактическая хитрость: сдавая все "втемную", он набрал максимальный бонус. Его конкуренты осторожничали и получили меньше дополнительных баллов. Из-за чего отстали от лидера.
Спортивное программирование активно развивается уже полтора десятка лет. За этими соревнованиями пристально следят руководители ведущих высокотехнологичных компаний всего мира. Те, кому повезет получить место в первой пятерке, тут же получат на выбор несколько предложений о работе в IBM, Google, Facebook и т.д. Минимальный оклад - 7000 долларов в месяц.
- Задания здесь вполне жизненные, но обычный программист над ними будет сидеть по нескольку недель, а тут надо придумать правильное решение и реализовать его за десять-пятнадцать минут, - объясняет Михаил Левин. - Правда, коды, написанные впопыхах на соревнованиях, для полноценной работы использовать обычно не удается: их потом трудно развивать, оптимизировать. Но основа - вполне действенная. Если человек смог вот так, на коленке, справиться с заданием, то в спокойной рабочей обстановке оно для него тоже не станет проблемой.
Особенность заданий для программистов в том, что непосвященному человеку непросто понять хотя бы ее условия. Организаторы долго отбивались от журналистов, требовавших огласить "боевую задачу". В итоге сдались и попытались пересказать хотя бы одну. Правда, после каждого предложения приходилось прерываться и давать пояснения, без которых никто ничего не понимал. В итоге разобраться с тем, над чем умные парни ломают голову, так никто и не смог.
Участникам соревнований от 18 до 27 лет. Кибернетический спорт - удел молодых. "Команда спортивных программистов обычно занимается два раза в неделю по пять часов вместе, а в остальные дни каждый проводит самостоятельную подготовку, - рассказал Григорий Бакунов, директор по распространению технологий "Яндекса". - Действующим программистам бывает трудно уделить столько времени киберспорту. Хотя бывает, когда кто-то специально увольнялся из компаний - организаторов соревнований, чтобы принять в них участие. Сотрудникам обычно выступать на них запрещено". Методов подготовки, собственно, всего два. Это или решение задач, уже использованных на прошедших соревнованиях. Или отработка построения типовых алгоритмов, которые встречаются чаще всего.
- Я пошел по другому пути: принимал участие в виртуальных соревнованиях в Интернете, писал программы просто для себя, - поделился победитель Геннадий Короткевич. - Я за компьютером с шести лет, родители - они преподают компьютерные дисциплины в Гомельском университете - помогли начать. Мне понравилось, так что с выбором профессии все было очевидно. Пока учусь в лучшем, на мой взгляд, университете. Но думаю, скоро начну и работать. Так что открыт для рассмотрения вакансий.
Геннадий уже двукратный чемпион "Яндекс.Алгоритма". На этот раз за успешное выступление кроме главного приза победителю полагался еще и чек на 300 тысяч рублей. На что их потратить двукратный чемпион пока не думает.
Победители "Яндекс.Алгоритма"
1. Геннадий Короткевич (Беларусь), студент НИУ ИТМО
2. Хосака Кадзухиро (Япония), Токийский университет
3. Ван Циньши (Китай), Университета Цинхуа