В конце апреля завершилась XIX Всероссийская олимпиада школьников по информатике. Пятый, заключительный тур этого соревнования прошел с 20 по 26 апреля в Челябинске. Участвовали в нем школьники со всей России, победившие в региональных и федеральных этапах олимпиады.
Следуя давним традициям, олимпиада проходила в два тура, и на каждом из них участникам отводилось по пять часов для решения задач. Рабочие места участников были оборудованы персональными компьютерами с соответствующим программным обеспечением, объединенными в локальную вычислительную сеть.
В отведенное для каждого тура время ребятам требовалось решить три задачи. Решение любой из них предполагало выполнение всех основных этапов, начиная с формализации поставленной задачи и разработки наилучшего алгоритма ее решения и заканчивая написанием и отладкой соответствующей программы на одном из допустимых языков программирования. Причем разные задачи можно было решать с использованием разных языков.
Проверка решений участников осуществлялась в автоматическом режиме с использованием специализированной программной среды. При этом ребята могли не только отправить свои решения на проверку, но и самостоятельно проверить их на тестах из условия. Система оценки программ участников предусматривала начисление определенного количества баллов за успешно пройденный тест. Общее количество тестов и вес каждого из них в баллах определялись и утверждались жюри перед началом проверки решений учас тников. При этом учитывалось, что общее число баллов за одну задачу в случае прохождения всех тестов не должно превышать ста. Таким образом, максимально возможное число баллов, которое мог набрать участник олимпиады в одном туре, составляло 300, а по итогам всего соревнования — 600 баллов.
Наибольшее количество баллов (458 из 600 возможных) получил за свои решения Константин Новиков, ученик СУНЦ МГУ.
Победитель олимпиады познакомился с программированием практически случайно — в восьмом классе Костя, тогда еще обычный тверской школьник, узнал о языке Паскаль от своего старшего брата, который стал изучать его в школе. А уже через несколько дней Константина отправили на городскую олимпиаду по информатике. Несмотря на то что юный программист знал только основы программирования, он показал неплохой результат, вышел в областной тур соревнования и даже был включен в команду Тверской области для участия во Всероссийской олимпиаде, так как в тот год олимпиада проходила в Твери. Первая попытка участия в таком соревновании оказалась не очень удачной, но Костя не отчаивался и на следующий год записался в кружок информатики к преподавателю математического факультета ТвГУ Сергею Юрьевичу Графу. Именно там он научился хорошо программировать, изучил базовые методы и алгоритмы решения олимпиадных задач. Такая подготовка позволила Константину в 9 классе занять первое место на городской и областной олимпиадах и завоевать диплом III степени на очередной Всероссийской олимпиаде в Новосибирске. Именно этот диплом и обеспечил Косте поступление в СУНЦ МГУ (Специализированный учебно-научный центр МГУ им. М.В. Ломоносова — школу им. А.Н. Колмогорова), где он и учится в настоящее время.
Там он познакомился с тренером Еленой Владимировной Андреевой, завкафедрой информатики СУНЦ МГУ, и был включен в первую команду СУНЦ. Успешно выступая в командных соревнованиях, Костя учился решать олимпиадные задачи как у тренера, так и у более опытных членов команды. Важную роль в его обучении сыграли школьные тренировки и летние школы СУНЦ МГУ, интернет-олимпиады, московские и всероссийские сборы. В третий раз попав на Всероссийскую олимпиаду, Костя получил диплом II степени, а в этом году стал абсолютным победителем соревнования.
Несмотря на то что Костя выполнил не все задачи полностью, некоторые предложенные им решения набрали максимальное количество баллов по результатам тестов. Одну из решенных им задач вы сможете найти в электронном варианте рубрики «Студия программирования» на «Мир ПК-диске».