Международная студенческая олимпиада по программированию

Международная студенческая олимпиада по программированию (в английском принято сокращение ICPC, до 2017 — ACM ICPC), называемая также Студенческим командным чемпионатом мира по программированию ICPC — крупнейшая студенческая командная олимпиада по программированию.
История
Студенческий командный чемпионат мира по программированию ICPC уходит своими корнями в соревнование, проводившееся в Техасском университете в 1970. Свой нынешний облик чемпионат принял в 1977 году, когда первый финал был проведён в рамках ежегодной конференции ACM по информатике, и с тех пор проводится ежегодно[1][2].
До 2017 года чемпионат проводился под эгидой ассоциации вычислительной техники (ACM). Начиная с 1989 года, организацией соревнований занимается университет Бэйлора[1]. В разное время спонсорами соревнований становились такие компании, как Apple, AT&T и Microsoft[3], c 1997 по 2017 год генеральным спонсором являлась компания IBM[1][4], начиная с 2018 года глобальным спонсором средств программирования является компания JetBrains[4].
С 1977 по 1989 в олимпиаде преимущественно участвовали команды вузов из США и Канады. К настоящему моменту олимпиада превратилась во всемирное соревнование: в 2019 году в ней приняло участие 52 7097 участников из 3233 учебных заведений, представляющих 110 стран. 135 команд сошлись в борьбе за главный трофей в финальном турнире. Число команд продолжает расти на 10–20 % в год, так что в будущем соревнования обещают стать ещё представительнее.[источник не указан 1261 день]
Россия, Азербайджан, Армения, Белоруссия, Грузия, Казахстан, Киргизия, Узбекистан составляют Северный Евразийский регион, ежегодно делегирующий на финальный турнир свои лучшие команды. Квота региона по числу команд с 2009 до 2013 года ежегодно увеличивалась: в 2009 году на финал было отправлено 11 команд, в 2010 — 12 команд, в 2011 — 13 команд, в 2012 — 16 команд, в 2013 — 19 команд, в 2014 — 17 команд[5]. Страны Балтии покинули Северо-Восточный Европейский полуфинальный регион: Эстония — в 2018 году[6], Литва и Латвия — в 2020 году[7].
Правила
Михаил Ипатов, Владислав Макеев, Григорий Резников
Олимпиада — командное соревнование. Каждая команда состоит из трёх студентов. К участию допускаются студенты высших учебных заведений, а также аспиранты первого года обучения. Студенты, дважды участвовавшие в финальной стадии олимпиады, или пятикратно принимавшие участие в региональном отборе, не допускаются к участию. Есть ограничение по возрасту: участники старше 24 лет не допускаются[8].
Тур олимпиады происходит следующим образом: каждой команде выдаётся компьютер и от восьми до двенадцати задач, условия которых написаны на английском языке[9], на пять часов. Команды пишут решения на языках программирования C, C++, Java, Python или Kotlin набирая и компилируя программы, используя Ubuntu 18.04. LTS(2018 год) [источник не указан 1379 дней], и посылают их на тестирующий сервер. Во время некоторых региональных туров набор языков может быть изменён. Так, например, при проведении четвертьфинала по северо-восточному региону участникам доступен Паскаль[9]. Программы тестируются на большом количестве различных входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.
Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем. Изначально штрафное время каждой команды равно нулю. За каждую правильно сданную задачу к штрафному времени команды прибавляют время, прошедшее с начала соревнования до момента сдачи задачи. Кроме того, если зачтённой попытке предшествовало несколько неудачных попыток сдать ту же задачу, то за каждую из них к штрафному времени прибавляют двадцать минут. За неудачные попытки сдать задачу, которую команде в итоге так и не удалось решить, штрафного времени не начисляется[10].
От других олимпиад по информатике эта олимпиада отличается повышенным количеством задач, на которые отводится сравнительно небольшое время. Учитывая, что в распоряжении каждой команды находится только один компьютер, навыки эффективной и слаженной командной работы выходят на первый план.
Многие университеты проводят свои олимпиады используя формат ICPC, поскольку данный формат может считаться одним из самых удачных.
Этапы
Олимпиада проводится на нескольких уровнях. Многие университеты проводят внутренние соревнования, чтобы определить своих представителей на региональном уровне. Затем проводятся региональные олимпиады, победители которых отправляются на финальный этап мирового первенства. В региональных соревнованиях один университет может быть представлен несколькими командами, но на финал может отправиться только одна команда от университета.
Победители
В разделе не хватает ссылок на источники (см. также рекомендации по поиску). |
Чемпионами мира с 1977 года становились:
* В связи с пандемией COVID-19 соревнование проводилось в октябре 2021 года, некоторые команды, которые не смогли приехать, участвовали в отдельном соревновании онлайн на платформе Codeforces[англ.]. В нём победила команда Ошибка создания миниатюры: Файл не найден университета Токио (Wataru Inoue, Hirotaka Isa, Yuta Takaya)[источник не указан 1255 дней].
Примечания
- ↑ 1,0 1,1 1,2 ICPC Fact Sheet (англ.) (8 марта 2019). Архивировано 25 марта 2019 года.
- ↑ CSC '77 Proceedings of the 5th annual ACM computer science conference (англ.) (1977). Дата обращения: 3 декабря 2010.
- ↑ ACM International Collegiate Programming Contest Team Participation Since 1989 (англ.). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
- ↑ 4,0 4,1 Михаил Мирзаянов. ACM-ICPC Финал 2017: вести с полей. Codeforces (23 мая 2017). Дата обращения: 25 марта 2019. Архивировано 25 марта 2019 года.
- ↑ World Finalists from Northern Eurasia. Дата обращения: 14 октября 2019. Архивировано 14 октября 2019 года.
- ↑ Ср. результаты отборочного тура за 2017 и 2018 годы: университет Tallinn SU прекратил участие.
- ↑ Ср. результаты отборочного тура за 2020 и 2021 годы: университеты VU и LU прекратили участие (астериск перед названием команды означает участие вне конкурса).
- ↑ Rules of the 2008 ICPC Regional Contests (англ.) (27 февраля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
- ↑ 9,0 9,1 :: ACM ICPC, NEERC, Southern Subregion :: Порядок и правила проведения соревнований. Дата обращения: 18 октября 2011. Архивировано 21 сентября 2011 года.
- ↑ The Rules of the 2009 ACM-ICPC World Finals (англ.) (8 апреля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.