Чемпионат мира? Легко!

Xakep, номер #032, стр. 032-025-1

Федор Добрянский (Dr.Cod@online.ru)

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

Как попасть?

Для участия ты должен быть студентом. Деканат твоего факультета должен послать тебя на какой-нибудь крупный региональный программер-матч, потом ты занимаешь место, например, в северо-восточном европейском раунде (что-то типа полуфинала) и выходишь на мировой чемпионат. Если честно, то я так до конца и не понял, как это все устроено. Часто деканаты не знают и не хотят знать о таких мероприятиях. Поэтому их придется заставить. Возьми нужную информацию на сайте и иди с нею к начальству. На страничке www.sgu.ru, например, валяются информационные письма к вузам. Вот с таким-то письмом и надо трясти свой деканат, а лучше - ректорат. Наверное, основная проблема в том, чтобы твоей команде выделили средства на поездку в разные города на четвертьфинал, полуфинал и финал (если разрешат).

Что за задачи?

Понятно, что твои программистские способности нужно как-то оценить. Для этого ты с друзьями должен будешь решить до десяти задач. Задачи эти делятся на несколько стандартных групп. В математических задачах нужно реализовать подсчет какой-нибудь формулы. В геометрических понадобится считать площади и длины. В задачах на теорию графов нужно будет париться с древесными алгоритмами, типа нахождения кратчайшего пути. Есть также задачи на перебор, сортировку и поиск слов или букв в строке. Эти задачи называются "из жизни"... Хотя тут сплошная математика или математическое программирование, как тебе больше нравится. При этом у заданий обычно сильно запутанная формулировка на английском языке. Т.е. важно быстро и правильно (!) понять, что от тебя хотят. После того как задача ясна, лучше использовать надежные стандартные алгоритмы.

Как оценивают?

Задачи решаются на скорость, кто быстрее - тот и победил. Никого программный код не волнует. Главное, чтобы программа прошла все тесты, которые держат в секрете. Программа должна уложиться по скорости своей работы в определенные временные рамки. Выигрывает та программа, которая работает быстрее.

Как проходит чемп?

В команде три человека и только один компьютер. Можно пользоваться только компиляторами Паскаля и С++. Каждой команде дают пакет задач на 3-4 часа. Очень важно правильно организоваться и не подраться у компа за клавиатуру. Хорошо, когда в команде есть специалисты по определенным темам. Например, в команде МГУ есть спец по геометрии с Физфака, все знают, что он решит любую задачу по геометрии за 15-30 минут.

Как готовиться?

Прежде всего ты должен отлично знать математику, геометрию, теорию графов, алгоритмы перебора и сортировки. Не помешает раз в неделю, а лучше каждый день решать конкурсные задачи по программированию. Такие задачи можно найти на contest.ur.ru, acm.gui.uva.es/problemset, www.ifmo.ru. Студенты ВМиК МГУ, например, сами организуют олимпиады по программированию для школьников. Им приходится постоянно придумывать и решать задачки.

Содержание  Вперед на стр. 032-025-2

Выпуски журнала "Xakep"
Журнал Хакер. Содержание номера #001Журнал Хакер. Содержание номера #002Журнал Хакер. Содержание номера #003Журнал Хакер. Содержание номера #004Журнал Хакер. Содержание номера #005Журнал Хакер. Содержание номера #006Журнал Хакер. Содержание номера #007Журнал Хакер. Содержание номера #008Журнал Хакер. Содержание номера #009Журнал Хакер. Содержание номера #010Журнал Хакер. Содержание номера #011Журнал Хакер. Содержание номера #012Журнал Хакер. Содержание номера #013Журнал Хакер. Содержание номера #014Журнал Хакер. Содержание номера #015Журнал Хакер. Содержание номера #016Журнал Хакер. Содержание номера #017Журнал Хакер. Содержание номера #018Журнал Хакер. Содержание номера #019Журнал Хакер. Содержание номера #020Журнал Хакер. Содержание номера #021Журнал Хакер. Содержание номера #022Журнал Хакер. Содержание номера #023Журнал Хакер. Содержание номера #024Журнал Хакер. Содержание номера #025Журнал Хакер. Содержание номера #026Журнал Хакер. Содержание номера #027Журнал Хакер. Содержание номера #028Журнал Хакер. Содержание номера #029Журнал Хакер. Содержание номера #030Журнал Хакер. Содержание номера #031Журнал Хакер. Содержание номера #032Журнал Хакер. Содержание номера #033Журнал Хакер. Содержание номера #034Журнал Хакер. Содержание номера #035Журнал Хакер. Содержание номера #036Журнал Хакер. Содержание номера #037Журнал Хакер. Содержание номера #038Журнал Хакер. Содержание номера #039Журнал Хакер. Содержание номера #040Журнал Хакер. Содержание номера #041Журнал Хакер. Содержание номера #042Журнал Хакер. Содержание номера #043Журнал Хакер. Содержание номера #044Журнал Хакер. Содержание номера #045Журнал Хакер. Содержание номера #046Журнал Хакер. Содержание номера #047Журнал Хакер. Содержание номера #048Журнал Хакер. Содержание номера #049Журнал Хакер. Содержание номера #050Журнал Хакер. Содержание номера #051Журнал Хакер. Содержание номера #052Журнал Хакер. Содержание номера #053Журнал Хакер. Содержание номера #054Журнал Хакер. Содержание номера #055Журнал Хакер. Содержание номера #056Журнал Хакер. Содержание номера #057Журнал Хакер. Содержание номера #058Журнал Хакер. Содержание номера #059Журнал Хакер. Содержание номера #060Журнал Хакер. Содержание номера #061Журнал Хакер. Содержание номера #062Журнал Хакер. Содержание номера #063Журнал Хакер. Содержание номера #064Журнал Хакер. Содержание номера #065Журнал Хакер. Содержание номера #066Журнал Хакер. Содержание номера #067Журнал Хакер. Содержание номера #068Журнал Хакер. Содержание номера #069Журнал Хакер. Содержание номера #070Журнал Хакер. Содержание номера #071Журнал Хакер. Содержание номера #072Журнал Хакер. Содержание номера #073Журнал Хакер. Содержание номера #074Журнал Хакер. Содержание номера #075Журнал Хакер. Содержание номера #076Журнал Хакер. Содержание номера #077Журнал Хакер. Содержание номера #078Журнал Хакер. Содержание номера #079Журнал Хакер. Содержание номера #080Журнал Хакер. Содержание номера #081Журнал Хакер. Содержание номера #082Журнал Хакер. Содержание номера #083Журнал Хакер. Содержание номера #084Журнал Хакер. Содержание номера #085Журнал Хакер. Содержание номера #086Журнал Хакер. Содержание номера #087Журнал Хакер. Содержание номера #088Журнал Хакер. Содержание номера #089Журнал Хакер. Содержание номера #090Журнал Хакер. Содержание номера #091Журнал Хакер. Содержание номера #092Журнал Хакер. Содержание номера #093Журнал Хакер. Содержание номера #094Журнал Хакер. Содержание номера #095Журнал Хакер. Содержание номера #096Журнал Хакер. Содержание номера #097Журнал Хакер. Содержание номера #098Журнал Хакер. Содержание номера #099Журнал Хакер. Содержание номера #100Журнал Хакер. Содержание номера #101Журнал Хакер. Содержание номера #102Журнал Хакер. Содержание номера #103Журнал Хакер. Содержание номера #104Журнал Хакер. Содержание номера #105Журнал Хакер. Содержание номера #106Журнал Хакер. Содержание номера #107Журнал Хакер. Содержание номера #108Журнал Хакер. Содержание номера #109Журнал Хакер. Содержание номера #110Журнал Хакер. Содержание номера #111Журнал Хакер. Содержание номера #112Журнал Хакер. Содержание номера #113Журнал Хакер. Содержание номера #114