Олимпиады по программированию

Поделись знанием:
(перенаправлено с «Спортивное программирование»)
Перейти к: навигация, поиск

Олимпиада по программированию (олимпиада по информатике) — интеллектуальное соревнование по решению различных задач на ЭВМ, для решения которых необходимо придумать и применить какой-либо алгоритм и/или программу на одном из языков программирования. Как правило участникам выдается комплект из нескольких задач. Задача считается решённой, если участники смогли составить программу, которая правильно работает на тестах, подготовленных жюри. Тесты участникам неизвестны.

Олимпиады бывают личные и командные. В командных олимпиадах обычно участвует 3 человека и им на всё время олимпиады предоставляется 1 компьютер для решения задач.

Для проведения подобных соревнований используются турнирные системы, например Contester[1] и eJudge[2].





Олимпиады в СССР и РФ

Среди школьников

Первая олимпиада по программированию в СССР (под названием олимпиада по информатике) прошла среди школьников и состоялась в 1988 году в Свердловске[3]. В дальнейшем олимпиады по информатике стали частью всесоюзных (а после распада СССР — всероссийских) предметных олимпиад школьников. Всероссийская олимпиада школьников по информатике 2011 прошла в Перми.

Традиционно олимпиады школьников являются личными соревнованиями, проводятся по многоуровневой системе, в несколько этапов:

  • Районная олимпиада
  • Городская олимпиада
  • Региональная олимпиада
  • Национальная олимпиада

Победители всероссийской олимпиады получают право участия в международных олимпиадах по информатике.

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

Командные соревнования школьников

Также проводятся многоуровневые командные олимпиады среди школьников, по правилам аналогичным правилам международных студенческих олимпиад[4][5].

Самой известной командной олимпиадой является Всерссийская командная олимпиада школьников по программированию[6] (ВКОШП). Она обычно проводится в начале декабря в разных городах России: Санкт-Петербург, Барнаул и городах в других странах. На эту олимпиаду нужно отобраться в своем регионе. От Москвы обычно проходят 10-20 команд. От СПб чуть меньше.

Все победители ВКОШП.[7]

Студенты

Олимпиады по информатике среди студентов СССР в масштабах всей страны не проводились. Начиная с 1996 года студенты российских вузов начали участвовать в соревнованиях входящих в систему командного чемпионата мира по программированию среди студентов, проводимого американской ассоциацией ACM.

Также энтузиастами организовывались различные внутри- и межвузовские олимпиады. Обычно эти олимпиады проводятся при финансировании какой-либо фирмы, занимающейся разработкой программного обеспечения и заинтересованной в привлечении талантливых студентов на работу к себе.

Олимпиады в Белоруссии

Олимпиады среди школьников

В Белоруссии олимпиады по программированию (по информатике) среди школьников проходит в несколько этапов.

Первый этап — внутришкольная олимпиада. Проводится среди учеников конкретного учреждения образования. В результате соревнования, победители проходят на следующий этап. Для проведения таких олимпиад используются системы тестирования (турнирные системы). Какую именно систему использовать решают организаторы олимпиады. Например, в Бресте используется система Brain Training[8], в некоторых заведениях система eJudge[2].

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

Третий этап — областная олимпиада. Здесь принимают участие победители предыдущего этапа (районной олимпиады). Вся Белоруссия разделена на 6 областей (Брестская, Витебская, Могилёвская, Гродненская, Гомельская и Минская), а также город Минск. Кроме того, в качестве отдельной команды выступает ГУО "Лицей Белорусского государственного университета". В каждой из них происходит отбор участников на следующий этап олимпиады.

Четвёртый этап — республиканская олимпиада (заключительный этап). Победители областных олимпиад соревнуются за звание лучшего программиста среди школьников.

Лучшие участники республиканской олимпиады (обычно только из 9-11 классов), отбираются на сборы по подготовке к международной олимпиаде по информатике. В течение сборов из них отбирается окончательная команда.

ACM International Collegiate Programming Contest

Крупнейшая международная студенческая командная олимпиада по программированию называется ACM International Collegiate Programming Contest. Генеральными спонсорами чемпионата выступают такие гиганты как Microsoft и IBM. В 2004 году в ней участвовало 3150 команд из 75 стран.

Команды из России неоднократно становились победителями этого престижного соревнования[9][10][11][12][13]. По итогам удачных выступлений команды удостаивались встречи с Президентом РФ[14][15][16]. Один из тренеров и организаторов этих олимпиад в России был награждён Премиями Президента РФ и Правительства РФ в области образования[17].

Специализированные олимпиады

Известная фирма-разработчик бухгалтерских программ проводит олимпиаду по программированию на встроенном языке своей системы[18]

Другие известные соревнования

В последнее время появился более общий термин «спортивное программирование». Состязания по спортивному программированию не связаны напрямую с системой образования, то есть в них также принимают участие и профессиональные программисты. Популярное состязание по спортивному программированию в мире — ресурс TopCoder, на котором регулярно проводят раунды (SRM), по результатам которых формируется рейтинг участников, а также ежегодный TopCoder Open. Появившийся позднее российский ресурс Codeforces (англ.) также проводит регулярные раунды, по результатам которых также формируется свой рейтинг.

Крупные ИТ-компании проводят регулярные и как правило личные соревнования по программированию.

Задачи

На классических олимпиадах по программированию участникам предлагается некоторый набор задач различного уровня сложности. Решением задачи является программа, написанная на одном из допустимых языков программирования. Эта программа должна корректно считывать любые входные данные указанного формата из определённого входного потока, корректно обрабатывать их согласно условию задачи, и выводить в определённый выходной поток в указанном виде. Для ввода-вывода могут использоваться как стандартные консольные потоки, так и файловые (часто входной файл имеет имя «input.txt», а выходной — «output.txt»).

Все решения проверяются автоматизированной тестирующей системой. Она запускает каждое решение на некотором наборе тестов. После завершения работы программы она оценивает правильность полученных выходных данных — сравнивает с эталонными или производит более сложные действия.

Особенностью олимпиадных задач является художественность их условия. В условиях редко ведётся речь о структурах данных и алгоритмах, приводящих к решению. Чаще условие задачи представляет собой короткий рассказ со своим сюжетом, героями и конфликтом. Таким образом, чтобы решить олимпиадную задачу, нужно предварительно составить математическую модель событий, и уже по ней подобрать или построить подходящий алгоритм. Алгоритм может быть как одним из уже известных алгоритмов, так и абсолютно новым, непохожим на другие.

Пример классической простейшей задачи, часто используемой для пробного тура: A+B.

Напишите отзыв о статье "Олимпиады по программированию"

Примечания

  1. [contester.ru Contester]
  2. 1 2 [www.ejudge.ru eJudge]
  3. [old.info.rosolymp.ru/default.asp?trID=96 Олимпиады — История олимпиады]
  4. [www.usu.ru/usu/opencms/today/events/2010/09/event_0009.html Уральская региональная олимпиада по программированию / Центр классического образования УрФУ им. Б. Н. Ельцина (УрГУ)]
  5. [neerc.ifmo.ru/school/russia-team/ Олимпиады по информатике. Санкт-Петербург, Россия]
  6. [neerc.ifmo.ru/school/russia-team/accommodation.html Олимпиады по информатике. Санкт-Петербург, Россия]. neerc.ifmo.ru. Проверено 27 июля 2016.
  7. [vkoshp2015.snarknews.info/index.cgi?data=vkoshp/stat/winners&year=2015&contest=vkoshp&class=vkoshp2015 SN on ВКОШП - 2015]. vkoshp2015.snarknews.info. Проверено 27 июля 2016.
  8. [brtrg.by Brain Training. Система для проведения соревнований по программированию]
  9. [snarknews.info/index.cgi?data=icpc/finals/08/final08pr&menu=final08&head=index SnarkNews]
  10. [rutube.ru/tracks/1211310.html Чемпионы мира из ИТМО в новостях РЕН ТВ :: :: Видео на RuTube]
  11. [www.rg.ru/2005/06/15/programm.html В Петербурге открылась академия программирования — Наталья Шергина — «Чемпионы мира получили кластер» — Российская Газета — В Северной столице открылась …]
  12. [www.dp.ru/a/2009/04/22/Studenti_ITMO_stali_chempi/ Студенты ИТМО стали чемпионами мира по программированию]
  13. [www.1tv.ru/news/polit/8319 Дмитрий Медведев встретился с победителями чемпионата мира по программированию — Первый канал]
  14. [www.1tv.ru/news/social/47784 Президент сегодня встретился со студентами — победителями чемпионата мира по программированию — Первый канал]
  15. [minsvyaz.ru/ru/monitoring/index.php?id_4=39750 Президент России Дмитрий Медведев продолжит традицию встреч с российскими студентами-победителями Чемпионата мира по программированию среди сборных команд вузов. — РИА Новости …]
  16. [www.1tv.ru/news/social/8344 Три золотых медали привезли в РФ победители первенства планеты по программированию — Первый канал]
  17. [with-champions.ru/stankevich.html Станкевич Андрей Сергеевич]
  18. [www.1c.ru/news/info.jsp?id=11249 Фирма «1С» / Новости / Список информационных выпусков / 24-я Международная Олимпиада по программированию учетно-аналитических задач на платформе "1С:Предприят …]
  19. [www.russiancodecup.ru/ Russian Code Cup]
  20. [codeforces.ru/vkcup2012 VK Cup 2012 - Codeforces]
  21. [habrahabr.ru/post/148063/ VK Cup 2012 — как это было / Хабрахабр]

Ссылки

Отрывок, характеризующий Олимпиады по программированию

– Нет, мама, я не влюблена в него, должно быть не влюблена в него.
– Ну, так так и скажи ему.
– Мама, вы сердитесь? Вы не сердитесь, голубушка, ну в чем же я виновата?
– Нет, да что же, мой друг? Хочешь, я пойду скажу ему, – сказала графиня, улыбаясь.
– Нет, я сама, только научите. Вам всё легко, – прибавила она, отвечая на ее улыбку. – А коли бы видели вы, как он мне это сказал! Ведь я знаю, что он не хотел этого сказать, да уж нечаянно сказал.
– Ну всё таки надо отказать.
– Нет, не надо. Мне так его жалко! Он такой милый.
– Ну, так прими предложение. И то пора замуж итти, – сердито и насмешливо сказала мать.
– Нет, мама, мне так жалко его. Я не знаю, как я скажу.
– Да тебе и нечего говорить, я сама скажу, – сказала графиня, возмущенная тем, что осмелились смотреть, как на большую, на эту маленькую Наташу.
– Нет, ни за что, я сама, а вы слушайте у двери, – и Наташа побежала через гостиную в залу, где на том же стуле, у клавикорд, закрыв лицо руками, сидел Денисов. Он вскочил на звук ее легких шагов.
– Натали, – сказал он, быстрыми шагами подходя к ней, – решайте мою судьбу. Она в ваших руках!
– Василий Дмитрич, мне вас так жалко!… Нет, но вы такой славный… но не надо… это… а так я вас всегда буду любить.
Денисов нагнулся над ее рукою, и она услыхала странные, непонятные для нее звуки. Она поцеловала его в черную, спутанную, курчавую голову. В это время послышался поспешный шум платья графини. Она подошла к ним.
– Василий Дмитрич, я благодарю вас за честь, – сказала графиня смущенным голосом, но который казался строгим Денисову, – но моя дочь так молода, и я думала, что вы, как друг моего сына, обратитесь прежде ко мне. В таком случае вы не поставили бы меня в необходимость отказа.
– Г'афиня, – сказал Денисов с опущенными глазами и виноватым видом, хотел сказать что то еще и запнулся.
Наташа не могла спокойно видеть его таким жалким. Она начала громко всхлипывать.
– Г'афиня, я виноват перед вами, – продолжал Денисов прерывающимся голосом, – но знайте, что я так боготво'ю вашу дочь и всё ваше семейство, что две жизни отдам… – Он посмотрел на графиню и, заметив ее строгое лицо… – Ну п'ощайте, г'афиня, – сказал он, поцеловал ее руку и, не взглянув на Наташу, быстрыми, решительными шагами вышел из комнаты.

На другой день Ростов проводил Денисова, который не хотел более ни одного дня оставаться в Москве. Денисова провожали у цыган все его московские приятели, и он не помнил, как его уложили в сани и как везли первые три станции.
После отъезда Денисова, Ростов, дожидаясь денег, которые не вдруг мог собрать старый граф, провел еще две недели в Москве, не выезжая из дому, и преимущественно в комнате барышень.
Соня была к нему нежнее и преданнее чем прежде. Она, казалось, хотела показать ему, что его проигрыш был подвиг, за который она теперь еще больше любит его; но Николай теперь считал себя недостойным ее.
Он исписал альбомы девочек стихами и нотами, и не простившись ни с кем из своих знакомых, отослав наконец все 43 тысячи и получив росписку Долохова, уехал в конце ноября догонять полк, который уже был в Польше.



После своего объяснения с женой, Пьер поехал в Петербург. В Торжке на cтанции не было лошадей, или не хотел их смотритель. Пьер должен был ждать. Он не раздеваясь лег на кожаный диван перед круглым столом, положил на этот стол свои большие ноги в теплых сапогах и задумался.
– Прикажете чемоданы внести? Постель постелить, чаю прикажете? – спрашивал камердинер.
Пьер не отвечал, потому что ничего не слыхал и не видел. Он задумался еще на прошлой станции и всё продолжал думать о том же – о столь важном, что он не обращал никакого .внимания на то, что происходило вокруг него. Его не только не интересовало то, что он позже или раньше приедет в Петербург, или то, что будет или не будет ему места отдохнуть на этой станции, но всё равно было в сравнении с теми мыслями, которые его занимали теперь, пробудет ли он несколько часов или всю жизнь на этой станции.
Смотритель, смотрительша, камердинер, баба с торжковским шитьем заходили в комнату, предлагая свои услуги. Пьер, не переменяя своего положения задранных ног, смотрел на них через очки, и не понимал, что им может быть нужно и каким образом все они могли жить, не разрешив тех вопросов, которые занимали его. А его занимали всё одни и те же вопросы с самого того дня, как он после дуэли вернулся из Сокольников и провел первую, мучительную, бессонную ночь; только теперь в уединении путешествия, они с особенной силой овладели им. О чем бы он ни начинал думать, он возвращался к одним и тем же вопросам, которых он не мог разрешить, и не мог перестать задавать себе. Как будто в голове его свернулся тот главный винт, на котором держалась вся его жизнь. Винт не входил дальше, не выходил вон, а вертелся, ничего не захватывая, всё на том же нарезе, и нельзя было перестать вертеть его.
Вошел смотритель и униженно стал просить его сиятельство подождать только два часика, после которых он для его сиятельства (что будет, то будет) даст курьерских. Смотритель очевидно врал и хотел только получить с проезжего лишние деньги. «Дурно ли это было или хорошо?», спрашивал себя Пьер. «Для меня хорошо, для другого проезжающего дурно, а для него самого неизбежно, потому что ему есть нечего: он говорил, что его прибил за это офицер. А офицер прибил за то, что ему ехать надо было скорее. А я стрелял в Долохова за то, что я счел себя оскорбленным, а Людовика XVI казнили за то, что его считали преступником, а через год убили тех, кто его казнил, тоже за что то. Что дурно? Что хорошо? Что надо любить, что ненавидеть? Для чего жить, и что такое я? Что такое жизнь, что смерть? Какая сила управляет всем?», спрашивал он себя. И не было ответа ни на один из этих вопросов, кроме одного, не логического ответа, вовсе не на эти вопросы. Ответ этот был: «умрешь – всё кончится. Умрешь и всё узнаешь, или перестанешь спрашивать». Но и умереть было страшно.
Торжковская торговка визгливым голосом предлагала свой товар и в особенности козловые туфли. «У меня сотни рублей, которых мне некуда деть, а она в прорванной шубе стоит и робко смотрит на меня, – думал Пьер. И зачем нужны эти деньги? Точно на один волос могут прибавить ей счастья, спокойствия души, эти деньги? Разве может что нибудь в мире сделать ее и меня менее подверженными злу и смерти? Смерть, которая всё кончит и которая должна притти нынче или завтра – всё равно через мгновение, в сравнении с вечностью». И он опять нажимал на ничего не захватывающий винт, и винт всё так же вертелся на одном и том же месте.
Слуга его подал ему разрезанную до половины книгу романа в письмах m mе Suza. [мадам Сюза.] Он стал читать о страданиях и добродетельной борьбе какой то Аmelie de Mansfeld. [Амалии Мансфельд.] «И зачем она боролась против своего соблазнителя, думал он, – когда она любила его? Не мог Бог вложить в ее душу стремления, противного Его воле. Моя бывшая жена не боролась и, может быть, она была права. Ничего не найдено, опять говорил себе Пьер, ничего не придумано. Знать мы можем только то, что ничего не знаем. И это высшая степень человеческой премудрости».
Всё в нем самом и вокруг него представлялось ему запутанным, бессмысленным и отвратительным. Но в этом самом отвращении ко всему окружающему Пьер находил своего рода раздражающее наслаждение.
– Осмелюсь просить ваше сиятельство потесниться крошечку, вот для них, – сказал смотритель, входя в комнату и вводя за собой другого, остановленного за недостатком лошадей проезжающего. Проезжающий был приземистый, ширококостый, желтый, морщинистый старик с седыми нависшими бровями над блестящими, неопределенного сероватого цвета, глазами.
Пьер снял ноги со стола, встал и перелег на приготовленную для него кровать, изредка поглядывая на вошедшего, который с угрюмо усталым видом, не глядя на Пьера, тяжело раздевался с помощью слуги. Оставшись в заношенном крытом нанкой тулупчике и в валеных сапогах на худых костлявых ногах, проезжий сел на диван, прислонив к спинке свою очень большую и широкую в висках, коротко обстриженную голову и взглянул на Безухого. Строгое, умное и проницательное выражение этого взгляда поразило Пьера. Ему захотелось заговорить с проезжающим, но когда он собрался обратиться к нему с вопросом о дороге, проезжающий уже закрыл глаза и сложив сморщенные старые руки, на пальце одной из которых был большой чугунный перстень с изображением Адамовой головы, неподвижно сидел, или отдыхая, или о чем то глубокомысленно и спокойно размышляя, как показалось Пьеру. Слуга проезжающего был весь покрытый морщинами, тоже желтый старичек, без усов и бороды, которые видимо не были сбриты, а никогда и не росли у него. Поворотливый старичек слуга разбирал погребец, приготовлял чайный стол, и принес кипящий самовар. Когда всё было готово, проезжающий открыл глаза, придвинулся к столу и налив себе один стакан чаю, налил другой безбородому старичку и подал ему. Пьер начинал чувствовать беспокойство и необходимость, и даже неизбежность вступления в разговор с этим проезжающим.
Слуга принес назад свой пустой, перевернутый стакан с недокусанным кусочком сахара и спросил, не нужно ли чего.
– Ничего. Подай книгу, – сказал проезжающий. Слуга подал книгу, которая показалась Пьеру духовною, и проезжающий углубился в чтение. Пьер смотрел на него. Вдруг проезжающий отложил книгу, заложив закрыл ее и, опять закрыв глаза и облокотившись на спинку, сел в свое прежнее положение. Пьер смотрел на него и не успел отвернуться, как старик открыл глаза и уставил свой твердый и строгий взгляд прямо в лицо Пьеру.
Пьер чувствовал себя смущенным и хотел отклониться от этого взгляда, но блестящие, старческие глаза неотразимо притягивали его к себе.


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