Международная студенческая олимпиада по программированию (By';rugjk;ugx vmr;yucyvtgx klnbhng;g hk hjkijgbbnjkfgunZ)

Перейти к навигации Перейти к поиску
Логотип ICPC

Международная студенческая олимпиада по программированию (в английском принято сокращение 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 % в год, так что в будущем соревнования обещают стать ещё представительнее.[источник не указан 620 дней]

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

Правила[править | править код]

Чемпионский кубок ICPC, полученный командой МГУ в 2019 году
Команда МГУ, победителей ICPC-2019 и 2018:
Михаил Ипатов, Владислав Макеев, Григорий Резников

Олимпиада — командное соревнование. Каждая команда состоит из трёх студентов. К участию допускаются студенты высших учебных заведений, а также аспиранты первого года обучения. Студенты, дважды участвовавшие в финальной стадии олимпиады, или пятикратно принимавшие участие в региональном отборе, не допускаются к участию. Есть ограничение по возрасту: участники старше 24 лет не допускаются[8].

Тур олимпиады происходит следующим образом: каждой команде выдаётся компьютер и от восьми до двенадцати задач, условия которых написаны на английском языке[9], на пять часов. Команды пишут решения на языках программирования C, C++, Java, Python или Kotlin набирая и компилируя программы, используя Ubuntu 18.04. LTS(2018 год) [источник не указан 738 дней], и посылают их на тестирующий сервер. Во время некоторых региональных туров набор языков может быть изменён. Так, например, при проведении четвертьфинала по северо-восточному региону участникам доступен Паскаль[9]. Программы тестируются на большом количестве различных входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.

Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем. Изначально штрафное время каждой команды равно нулю. За каждую правильно сданную задачу к штрафному времени команды прибавляют время, прошедшее с начала соревнования до момента сдачи задачи. Кроме того, если зачтённой попытке предшествовало несколько неудачных попыток сдать ту же задачу, то за каждую из них к штрафному времени прибавляют двадцать минут. За неудачные попытки сдать задачу, которую команде в итоге так и не удалось решить, штрафного времени не начисляется[10].

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

Многие университеты проводят свои олимпиады используя формат ICPC, поскольку данный формат может считаться одним из самых удачных.

Этапы[править | править код]

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

Победители[править | править код]

Чемпионами мира с 1977 года становились[11]:

Год Место проведения Победитель Состав команды Тренер
2023*** Египет Луксор, Египет Россия Высшая школа экономики Фёдор Ромашов, Кирилл Кудряшов, Александр Бабин Михаил Густокашин, Филипп Грибов
2022*** Египет Луксор, Египет Китай Peking University 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 соревнование проводилось в октябре 2021 года, некоторые команды, которые не смогли приехать, участвовали в отдельном соревновании онлайн на платформе Codeforces  (англ.). В нём победила команда Япония университета Токио (Wataru Inoue, Hirotaka Isa, Yuta Takaya)[источник не указан 614 дней].

** В связи с пандемией COVID-19 соревнование проводилось в ноябре 2022 года.

***Финалы сезонов 2021-2022 и 2022-2023 прошли одновременно в апреле 2024 года.

Примечания[править | править код]

  1. 1 2 3 ICPC Fact Sheet (англ.) (8 марта 2019). Архивировано 25 марта 2019 года.
  2. CSC '77 Proceedings of the 5th annual ACM computer science conference (англ.) (1977). Дата обращения: 3 декабря 2010.
  3. ACM International Collegiate Programming Contest Team Participation Since 1989 (англ.). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
  4. 1 2 Михаил Мирзаянов. ACM-ICPC Финал 2017: вести с полей. Codeforces (23 мая 2017). Дата обращения: 25 марта 2019. Архивировано 25 марта 2019 года.
  5. World Finalists from Northern Eurasia. Дата обращения: 14 октября 2019. Архивировано 14 октября 2019 года.
  6. Ср. результаты отборочного тура за 2017 Архивная копия от 16 августа 2022 на Wayback Machine и 2018 Архивная копия от 16 августа 2022 на Wayback Machine годы: университет Tallinn SU прекратил участие.
  7. Ср. результаты отборочного тура за 2020 Архивная копия от 16 августа 2022 на Wayback Machine и 2021 Архивная копия от 28 сентября 2022 на Wayback Machine годы: университеты VU и LU прекратили участие (астериск перед названием команды означает участие вне конкурса).
  8. Rules of the 2008 ICPC Regional Contests (англ.) (27 февраля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
  9. 1 2 :: ACM ICPC, NEERC, Southern Subregion :: Порядок и правила проведения соревнований. Дата обращения: 18 октября 2011. Архивировано 21 сентября 2011 года.
  10. The Rules of the 2009 ACM-ICPC World Finals (англ.) (8 апреля 2008). Дата обращения: 3 декабря 2010. Архивировано 22 августа 2011 года.
  11. ICPC World Champion Hall of Fame (англ.). ICPC International Collegiate Programming Contest. Дата обращения: 6 сентября 2023. Архивировано 6 сентября 2023 года.

Ссылки[править | править код]