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

Международная студенческая олимпиада по программированию (в английском принято сокращение 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].
В России одним из основателей студенческих соревнований по программированию являлся Панкратьев Евгений Васильевич[5].
Россия, Азербайджан, Армения, Белоруссия, Грузия, Казахстан, Кыргызстан, Узбекистан составляют Северный Евразийский регион, ежегодно делегирующий на финальный турнир свои лучшие команды. Квота региона по числу команд с 2009 до 2013 года ежегодно увеличивалась: в 2009 году на финал было отправлено 11 команд, в 2010 — 12 команд, в 2011 — 13 команд, в 2012 — 16 команд, в 2013 — 19 команд, в 2014 — 17 команд[6]. Страны Балтии покинули Северо-Восточный Европейский полуфинальный регион: Эстония — в 2018 году[7], Литва и Латвия — в 2020 году[8].
Правила
[править | править код]

Михаил Ипатов, Владислав Макеев, Григорий Резников
Олимпиада — командное соревнование. Каждая команда состоит из трёх студентов. К участию допускаются студенты высших учебных заведений, а также аспиранты первого года обучения. Студенты, дважды участвовавшие в финальной стадии олимпиады, или пятикратно принимавшие участие в региональном отборе, не допускаются к участию. Есть ограничение по возрасту: участники старше 24 лет не допускаются[9].
Тур олимпиады происходит следующим образом: каждой команде выдаётся компьютер и от восьми до двенадцати задач, условия которых написаны на английском языке[10], на пять часов. Команды пишут решения на языках программирования C, C++, Java, Python или Kotlin набирая и компилируя программы, используя Ubuntu 18.04. LTS (2018 год) [источник не указан 1125 дней], и посылают их на тестирующий сервер. Во время некоторых региональных туров набор языков может быть изменён. Так, например, при проведении четвертьфинала по северо-восточному региону участникам доступен Паскаль[10]. Программы тестируются на большом количестве различных входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.
Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем. Изначально штрафное время каждой команды равно нулю. За каждую правильно сданную задачу к штрафному времени команды прибавляют время, прошедшее с начала соревнования до момента сдачи задачи. Кроме того, если зачтённой попытке предшествовало несколько неудачных попыток сдать ту же задачу, то за каждую из них к штрафному времени прибавляют двадцать минут. За неудачные попытки сдать задачу, которую команде в итоге так и не удалось решить, штрафного времени не начисляется[11].
От других олимпиад по информатике эта олимпиада отличается повышенным количеством задач, на которые отводится сравнительно небольшое время. Учитывая, что в распоряжении каждой команды находится только один компьютер, навыки эффективной и слаженной командной работы выходят на первый план.
Многие университеты проводят свои олимпиады используя формат ICPC, поскольку данный формат может считаться одним из самых удачных.
Этапы
[править | править код]Олимпиада проводится на нескольких уровнях. Многие университеты проводят внутренние соревнования, чтобы определить своих представителей на региональном уровне. Затем проводятся региональные олимпиады, победители которых отправляются на финальный этап мирового первенства. В региональных соревнованиях один университет может быть представлен несколькими командами, но на финал может отправиться только одна команда от университета.
Победители ICPC
[править | править код]Чемпионами мира с 1977 года становились[12]:
Год | Место проведения | Победитель | Состав команды | Тренер |
---|---|---|---|---|
2024 | ![]() |
![]() |
Ван Вэйчэн (Wang Weicheng), Ван Сянвэнь (Wang Xiangwen), Сю Аньи (Xu Anyi) | Луо Гоцзе (Luo Guojie) |
2023** | ![]() |
![]() |
Фёдор Ромашов, Кирилл Кудряшов, Александр Бабин | Михаил Густокашин |
2022** | ![]() |
![]() |
Линью Цзян (Lingyu Jiang), Чжипэн Ван (Zhanpeng Wang), Юйсян Луо (Yuxiang Luo) | Цинь цзянь Чжан (Qinjian Zhang) |
2021* | ![]() |
![]() |
Джерри Мао (Jerry Mao), Минъян Дэн (Mingyang Deng), Сяо Мао (Xiao Mao) | Се Цзинь (Ce Jin) |
2020 | ![]() |
![]() |
Алексей Данилюк, Николай Калинин, Валерия Рябчикова | Алексей Шмелев |
2019 | ![]() |
![]() |
Михаил Ипатов, Владислав Макеев, Григорий Резников | Елена Андреева |
2018 | ![]() |
![]() |
Михаил Ипатов, Владислав Макеев, Григорий Резников | Елена Андреева |
2017 | ![]() |
![]() |
Иван Белоногов, Илья Збань, Владимир Смыкалов | Андрей Станкевич |
2016 | ![]() |
![]() |
Станислав Ершов, Алексей Гордеев, Игорь Пышкин | Андрей Лопатин |
2015 | ![]() |
![]() |
Геннадий Короткевич, Борис Минаев, Артём Васильев | Андрей Станкевич |
2014 | ![]() |
![]() |
Дмитрий Егоров, Павел Кунявский, Егор Суворов | Андрей Лопатин |
2013 | ![]() |
![]() |
Михаил Кевер, Геннадий Короткевич, Нияз Нигматуллин | Андрей Станкевич |
2012 | ![]() |
![]() |
Евгений Капун, Михаил Кевер, Нияз Нигматуллин | Андрей Станкевич |
2011 | ![]() |
![]() |
Мо Луи (Luyi Mo), Оуян Цзялинь (Jialin Ouyang), У Цзэцзюнь (Zejun Wu) | Ван Цань (Can Wang) |
2010 | ![]() |
![]() |
Цзинь Бинь (Bin Jin), У Чжоцзе (Zhuojie Wu), Чжэн Чжао (Zhao Zheng) | Юй Юн (Yong Yu) |
2009 | ![]() |
![]() |
Владислав Исенбаев, Максим Буздалов, Евгений Капун | Андрей Станкевич |
2008 | ![]() |
![]() |
Дмитрий Абдрашитов, Дмитрий Паращенко, Фёдор Царёв | Андрей Станкевич |
2007 | ![]() |
![]() |
Филип Вольски (Filip Wolski), Марцин Пилипчук (Marcin Pilipczuk), Марек Цыган (Marek Cygan) | Ян Мадей (Jan Madey) |
2006 | ![]() |
![]() |
Роман Алексеенков, Игорь Кулькин, Иван Романов | Михаил Мирзаянов |
2005 | ![]() |
![]() |
Дай Вэньюань (Wenyuan Dai), Чжао Шуан (Shuang Zhao), Ян Бохай (Bohai Yang) | Юй Юн (Yong Yu) |
2004 | ![]() |
![]() |
Дмитрий Павлов, Павел Маврин, Сергей Оршанский | Андрей Станкевич |
2003 | ![]() |
![]() |
Томаш Чжайка (Tomasz Czajka), Кшиштоф Онак (Krzysztof Onak), Анджей Гасиница-Самек (Andrzej Gasienica-Samek) | Ян Мадей (Jan Madey) |
2002 | ![]() |
![]() |
Линь Чэньси (Chenxi Lin), Чжоу Цзянь (Jian Zhou), Лу Цзин (Jing Lu) | Юй Юн (Yong Yu) |
2001 | ![]() |
![]() |
Николай Дуров, Андрей Лопатин, Виктор Петров | Дмитрий Ломов |
2000 | ![]() |
![]() |
Николай Дуров, Андрей Лопатин, Олег Етеревский | Наталья Вояковская |
1999 | ![]() |
![]() |
Ондрей Лхотак (Ondrej Lhotak), Вьет-Тунг Луу (Viet-Trung Luu), Дэвид Кеннеди (David Kennedy), Донни Чунг (Donny Cheung) | Гордон Кормак (Gordon Cormack) |
1998 | ![]() |
![]() |
Иржи Хаек (Jiri Hajek), Павел Машек (Pavel Machek), Мартин Марес (Martin Mares) | Павел Топфер (Pavel Töpfer) |
1997 | ![]() |
![]() |
Брайан Карнс (Brian Carnes), Брайан Джонсон (Brian Johnson), Кевин Уоткинс (Kevin Watkins), Доминик Маццони (Dominic Mazzoni) | Роберт Келлер (Robert Keller) |
1996 | ![]() |
![]() |
Бен Рудиак-Гулд (Ben Rudiak-Gould), Амит Сахай (Amit Sahai), Скотт МакПик (Scott McPeak) | Пол Хилфингер (Paul Hilfinger) |
1995 | ![]() |
![]() |
Маттиас Руль (Matthias Ruhl), Кристиан Ветцль (Christian Wetzel), Филипп Земброд (Phillip Zembrod) | |
1994 | ![]() |
![]() |
Сейджи Андо (Seiji Ando), Ян Голдберг (Ian Goldberg), Ка-Пин Йи (Ka-Ping Yee) | Джо Эберген (Jo Ebergen) |
1993 | ![]() |
![]() |
Деррик Басс (Derrick Bass), Тони Шей, Крейг Сильверстайн (Craig Silverstein) | |
1992 | ![]() |
![]() |
Эндрю Конвей (Andrew Conway), Крейг Диллон (Craig Dillon), Стивен Симмонс (Stephen Simmons) | |
1991 | ![]() |
![]() |
Майкл Патрик Фрэнк (Michael Patrick Frank), Шон Куинлан (Sean Quinlan), Дэвид Магерман (David Magerman), Карл Уитти (Carl Witty) | |
1990 | ![]() |
![]() |
John Gee, Craig McNaughton, Paul Sharp, Bruce Warrington | |
1989 | ![]() |
![]() |
Seth Goldman, Alex Quilici, Matthew Marzbacher, Scott Turner | |
1988 | ![]() |
![]() |
Dave Gillespie, Adam Greenblatt, Ron Goodman, Scott Hemphill | |
1987 | ![]() |
![]() |
Bob Alverson, Tomas Rokicki, Ali Tabibian, Lei Zhu | |
1986 | ![]() |
![]() |
Steve Burns, Tim Kay, Dave Gillespie, Steve Rabin, Rajiv Gupta | |
1985 | ![]() |
![]() |
Michael Dixon, Micheal Hewett, Vivek Sarkar, Joseph Weening | |
1984 | ![]() |
![]() |
Michael Baldwin, Robert Strandh, John Walker, Richard Washington | Joseph O’Rourke |
1983 | ![]() |
![]() |
Mark Tuttle, Thane Plambeck, David Leavitt, Paul Petersen | |
1982 | ![]() |
![]() |
Keith Hall, Patrick Keane, Jennifer Harmon, Terry Talley | Don Gaitros |
1981 | ![]() |
![]() |
Кристофер Фройнд (Christopher Freund), Майкл Ричи (Michael Richey), Джеймс Симмонс (James Simmons), Кэтрин Пирон Физелер (Catherine Pyron Fieseler) | |
1980 | ![]() |
![]() |
Стив Карасек (Steve Karasek), Натан Шредер (Nathan Schroeder), Майк Зайда (Mike Zyda), Дэйв Кэмп (Dave Camp) | |
1979 | ![]() |
![]() |
Стив Карасек (Steve Karasek), Натан Шредер (Nathan Schroeder), Дэвид Доти (David Doty), Дэйв Кэмп (Dave Camp) | |
1978 | ![]() |
![]() |
||
1977 | ![]() |
![]() |
* В связи с пандемией COVID-19 соревнование проводилось в ноябре 2022 года.
**Финалы сезонов 2021-2022 и 2022-2023 прошли одновременно в апреле 2024 года.
Примечания
[править | править код]- ↑ 1 2 3 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 года.
- ↑ 1 2 Михаил Мирзаянов. ACM-ICPC Финал 2017: вести с полей . Codeforces (23 мая 2017). Дата обращения: 25 марта 2019. Архивировано 25 марта 2019 года.
- ↑ Скончался Е.В. Панкратьев . Институт систем информатики им. А. П. Ершова СО РАН (24 января 2008).
- ↑ World Finalists from Northern Eurasia . Дата обращения: 14 октября 2019. Архивировано 14 октября 2019 года.
- ↑ Ср. результаты отборочного тура за 2017 Архивная копия от 16 августа 2022 на Wayback Machine и 2018 Архивная копия от 16 августа 2022 на Wayback Machine годы: университет Tallinn SU прекратил участие.
- ↑ Ср. результаты отборочного тура за 2020 Архивная копия от 16 августа 2022 на Wayback Machine и 2021 Архивная копия от 28 сентября 2022 на Wayback Machine годы: университеты VU и LU прекратили участие (астериск перед названием команды означает участие вне конкурса).
- ↑ Rules of the 2008 ICPC Regional Contests (англ.) (27 февраля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
- ↑ 1 2 :: ACM ICPC, NEERC, Southern Subregion :: Порядок и правила проведения соревнований . Дата обращения: 18 октября 2011. Архивировано 21 сентября 2011 года.
- ↑ The Rules of the 2009 ACM-ICPC World Finals (англ.) (8 апреля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
- ↑ ICPC World Champion Hall of Fame (англ.). ICPC International Collegiate Programming Contest. Дата обращения: 6 сентября 2023. Архивировано 6 сентября 2023 года.