Olimpiada internațională de programare pentru studenți

Olimpiada Internațională de Programare a Studenților (abreviată ICPC în engleză , până în 2017 - ACM ICPC ), numită și Campionatul Mondial de Programare a Echipelor Studenților ICPC - cea mai mare Olimpiada de programare a echipelor studențești .

Istorie

Campionatul mondial de programare a echipelor studenților ICPC își are rădăcinile într-o competiție organizată la Universitatea din Texas în 1970. Campionatul și-a luat forma actuală în 1977, când prima finală a avut loc ca parte a Conferinței anuale ACM Computer Science și a fost desfășurat anual din [1 ] [2] .

Până în 2017, campionatul s-a desfășurat sub egida Asociației pentru Mașini de Calcul (ACM). Din 1989, Universitatea Baylor organizează concursul [1] . În diferite momente, companii precum Apple , AT&T și Microsoft [3] au devenit sponsorii competiției , din 1997 până în 2017 sponsorul general a fost IBM [1] [4] , începând cu 2018 sponsorul global al instrumentelor de programare este JetBrains [ 4] .

Din 1977 până în 1989, echipele din universitățile din SUA și Canada au participat în principal la olimpiade . Până în prezent, Olimpiada a devenit o competiție globală: în 2019, la ea au participat 52.7097 de participanți din 3.233 de instituții de învățământ reprezentând 110 țări. 135 de echipe s-au reunit în lupta pentru trofeul principal în turneul final. Numărul echipelor continuă să crească cu 10-20% pe an, astfel încât pe viitor competiția promite să devină și mai reprezentativă.

Rusia , Azerbaidjan , Armenia , Belarus , Georgia , Kazahstan , Kârgâzstan , Uzbekistan alcătuiesc regiunea Eurasia de Nord , delegând anual cele mai bune echipe la turneul final. Cota regiunii în ceea ce privește numărul de echipe din 2009 până în 2013 a crescut anual: în 2009 au fost trimise în finală 11 echipe, în 2010 - 12 echipe, în 2011 - 13 echipe, în 2012 - 16 echipe, în 2013 - 19 echipe, în 2014 - 17 echipe [5] . Țările baltice au părăsit regiunea semifinală a Europei de Nord-Est: Estonia în 2018 [6] , Lituania și Letonia în 2020 [7]

Reguli

Olimpiada este o competiție pe echipe. Fiecare echipă este formată din trei elevi. Au dreptul să participe studenții instituțiilor de învățământ superior , precum și studenții absolvenți ai primului an de studii . Elevii care au participat de două ori la etapa finală a Olimpiadei sau care au participat de cinci ori la selecția regională nu au voie să participe. Există o restricție de vârstă: participanții peste 24 de ani nu au voie [8] .

Runda olimpiadei se desfășoară astfel: fiecărei echipe i se oferă un computer și opt până la douăsprezece probleme, ale căror condiții sunt scrise în limba engleză [9] , timp de cinci ore. Echipele scriu soluții în limbaje de programare C , C++ , Java , Python sau Kotlin prin tastarea și compilarea programelor folosind Ubuntu 18.04. LTS (2018) și trimiteți-le la serverul de testare . În timpul unor tururi regionale, setul de limbi poate fi schimbat. Deci, de exemplu, atunci când ține un sfert de finală în regiunea de nord-est, Pascal [9] este disponibil participanților . Programele sunt testate pe un număr mare de teste de intrare diferite, necunoscute participanților. Dacă programul a dat un răspuns incorect sau nu a îndeplinit limitele de timp sau de memorie, atunci comanda care l-a trimis primește un mesaj despre acest lucru și poate trimite o versiune corectată. Problema este considerată rezolvată dacă programul a dat răspunsuri corecte la toate testele. Spre deosebire de alte olimpiade, soluțiile parțiale nu sunt luate în considerare.

Câștigă echipa care rezolvă cele mai multe probleme corect. Dacă mai multe echipe rezolvă același număr de probleme, atunci poziția lor în clasament este determinată de timpul de penalizare. Inițial, timpul de penalizare al fiecărei echipe este zero. Pentru fiecare problemă depusă corect, echipele adaugă la timpul de penalizare timpul scurs de la începutul competiției până la momentul predării problemei. În plus, dacă o încercare validă a fost precedată de mai multe încercări nereușite de a trece de aceeași problemă, atunci se adaugă douăzeci de minute la timpul de penalizare pentru fiecare dintre ele. Pentru încercările nereușite de a trece problema, pe care în cele din urmă echipa nu a reușit să o rezolve, nu se percepe timp de penalizare [10] .

Această olimpidă se deosebește de alte olimpiade de informatică printr-un număr crescut de sarcini pentru care este alocat relativ puțin timp. Având în vedere că fiecare echipă are la dispoziție un singur computer, abilitățile de lucru în echipă eficient și bine coordonat ies în prim-plan.

Multe universități își organizează concursurile folosind formatul ICPC, deoarece acest format poate fi considerat unul dintre cele mai de succes.

Etape

Jocurile Olimpice se desfășoară la mai multe niveluri. Multe universități organizează concursuri interne pentru a-și determina reprezentanții la nivel regional. Apoi au loc olimpiade regionale, ai căror câștigători merg în etapa finală a campionatului mondial. În competițiile regionale, o universitate poate fi reprezentată de mai multe echipe, dar în finală poate merge o singură echipă din universitate.

Câștigători

Campionii mondiali din 1977 au fost:

An Locație Câştigător Alinia Antrenor
2020*  Rusia ,Moscova UNN Alexey Danilyuk, Nikolai Kalinin, Valeria Ryabchikova Alexey Shmelev
2019  Portugalia ,Porto Universitatea de Stat din Moscova Mihail Ipatov, Vladislav Makeev, Grigori Reznikov Elena Andreeva
2018  China ,Beijing Universitatea de Stat din Moscova Mihail Ipatov, Vladislav Makeev, Grigori Reznikov Elena Andreeva
2017  SUA ,Rapid City Universitatea de Stat de Tehnologii Informaționale, Mecanică și Optică din Sankt Petersburg Ivan Belonogov, Ilya Zban, Vladimir Smykalov Andrei Stankevici
2016  Thailanda ,Phuket Universitatea de Stat din Sankt Petersburg Stanislav Ershov, Alexey Gordeev, Igor Pyshkin Andrei Lopatin
2015  Maroc ,Marrakech Universitatea de Stat de Tehnologii Informaționale, Mecanică și Optică din Sankt Petersburg Ghenadi Korotkevich , Boris Minaev, Artyom Vasiliev Andrei Stankevici
2014  Rusia ,Ekaterinburg Universitatea de Stat din Sankt Petersburg Dmitri Egorov, Pavel Kunyavsky, Egor Suvorov Andrei Lopatin
2013  Rusia ,Sankt Petersburg Universitatea de Stat de Tehnologii Informaționale, Mecanică și Optică din Sankt Petersburg Mihail Kever, Gennady Korotkevich , Niyaz Nigmatullin Andrei Stankevici
2012  Polonia ,Varșovia Universitatea de Stat de Tehnologii Informaționale, Mecanică și Optică din Sankt Petersburg Evgeny Kapun, Mihail Kever, Niyaz Nigmatullin Andrei Stankevici
2011  SUA ,Orlando Universitatea Zhejiang Luyi Mo, Jialin Ouyang, Zejun Wu Wang Can Wang
2010  China ,Harbin Universitatea de Transport din Shanghai (Jiaotong) Bin Jin, Zhuojie Wu, Zhao Zheng Yong Yu
2009  Suedia ,Stockholm Universitatea de Stat de Tehnologii Informaționale, Mecanică și Optică din Sankt Petersburg Vladislav Isenbaev, Maxim Buzdalov , Evgeny Kapun Andrei Stankevici
2008  Canada ,Banff Universitatea de Stat de Tehnologii Informaționale, Mecanică și Optică din Sankt Petersburg Dmitri Abdrașitov, Dmitri Parașcenko, Fedor Țarev Andrei Stankevici
2007  Japonia ,Tokyo Universitatea din Varșovia Filip Wolski, Marcin Pilipczuk, Marek Cygan Jan Madey
2006  SUA ,San Antonio Universitatea de Stat din Saratov Roman Alekseenkov, Igor Kulkin, Ivan Romanov Mihail Mirzayanov
2005  China ,Shanghai Universitatea de Transport din Shanghai (Jiaotong) Dai Wenyuan, Shuang Zhao, Bohai Yang Yong Yu
2004  Republica Cehă ,Praga Universitatea de Stat de Tehnologii Informaționale, Mecanică și Optică din Sankt Petersburg Dmitri Pavlov, Pavel Mavrin, Serghei Orshansky Andrei Stankevici
2003  SUA ,Beverly Hills Universitatea din Varșovia Tomasz Czajka, Krzysztof Onak, Andrzej Gasienica-Samek Jan Madey
2002  SUA ,Honolulu Universitatea de Transport din Shanghai (Jiaotong) Lin Chenxi (Chenxi Lin), Zhou Jian (Jian Zhou), Lu Jing (Jing Lu) Yong Yu
2001  Canada ,Vancouver Universitatea de Stat din Sankt Petersburg Nikolai Durov, Andrei Lopatin, Viktor Petrov Dmitri Lomov
2000  SUA ,Orlando Universitatea de Stat din Sankt Petersburg Nikolai Durov, Andrei Lopatin, Oleg Eterevski Natalia Voiakovskaia
1999  Olanda ,Eindhoven Universitatea din Waterloo Ondrej Lhotak, Viet-Trung Luu, David Kennedy, Donny Cheung Gordon Cormack
1998  SUA ,Atlanta Universitatea Charles (Praga) Jiri Hajek, Pavel Machek, Martin Mares Pavel Töpfer
1997  SUA ,San Jose Colegiul Harvey Mudd Brian Carnes, Brian Johnson, Kevin Watkins, Dominic Mazzoni Robert Keller
1996  SUA ,Philadelphia UC Berkeley Ben Rudiak-Gould, Amit Sahai, Scott McPeak Paul Hilfinger
1995  SUA ,Nashville Universitatea Freiburg Matthias Ruhl, Christian Wetzel, Phillip Zembrod
1994  SUA ,Phoenix Universitatea din Waterloo Seiji Ando, ​​Ian Goldberg, Ka-Ping Yee Joe Ebergen
1993  SUA ,Indianapolis Universitatea Harvard Derrick Bass, Tony Shay , Craig Silverstein
1992  SUA ,Kansas City Universitatea din Melbourne Andrew Conway, Craig Dillon, Stephen Simmons
1991  SUA ,San Antonio Universitatea Stanford Michael Patrick Frank, Sean Quinlan, David Magerman, Carl Witty
1990  SUA ,Washington Universitatea din Otago John Gee, Craig McNaughton, Paul Sharp, Bruce Warrington
1989  SUA ,Louisville Universitatea din California din Los Angeles Seth Goldman, Alex Quilici, Matthew Marzbacher, Scott Turner
1988  SUA ,Atlanta Institutul de Tehnologie din California Dave Gillespie, Adam Greenblatt, Ron Goodman, Scott Hemphill
1987  SUA ,St. Louis Universitatea Stanford Bob Alverson, Tomas Rokicki, Ali Tabibian, Lei Zhu
1986  SUA ,Cincinnati Institutul de Tehnologie din California Steve Burns, Tim Kay, Dave Gillespie, Steve Rabin, Rajiv Gupta
1985  SUA ,New Orleans Universitatea Stanford Michael Dixon, Michael Hewett, Vivek Sarkar, Joseph Weening
1984  SUA ,Philadelphia Universitatea Johns Hopkins Michael Baldwin, Robert Strandh, John Walker, Richard Washington Joseph O'Rourke
1983  SUA ,Melbourne Universitatea din Nebraska Mark Tuttle, Thane Plambeck, David Leavitt, Paul Petersen
1982  SUA ,Indianapolis Universitatea Baylor Keith Hall, Patrick Keane, Jennifer Harmon, Terry Talley Don Gaitros
1981  SUA ,St. Louis Universitatea din Missouri Christopher Freund, Michael Richey, James Simmons, Catherine Pyron Fieseler
1980  SUA ,Kansas City Universitatea Saint Louis Steve Karasek, Nathan Schroeder, Mike Zyda, Dave Camp
1979  SUA ,Dayton Universitatea Saint Louis Steve Karasek, Nathan Schroeder, David Doty, Dave Camp
1978  SUA ,Detroit Institutul de tehnologie din Massachusetts
1977  SUA ,Atlanta Universitatea din Michigan

* Din cauza pandemiei de COVID-19, competiția a avut loc în octombrie 2021, unele echipe care nu au putut participa au participat la o competiție separată online pe platforma Codeforces. A fost câștigat de echipa Universității din Tokyo (Wataru Inoue, Hirotaka Isa, Yuta Takaya) .

Note

  1. 1 2 3 ICPC Fact Sheet  (ing.) (8 martie 2019). Arhivat din original pe 25 martie 2019.
  2. CSC '77 Proceedings of the 5th annual ACM computer science Conference  ( 1977). Preluat: 3 decembrie 2010.
  3. Participarea echipei la concursul internațional de programare colegială ACM din  1989 . Preluat la 3 decembrie 2010. Arhivat din original la 22 august 2011.
  4. ↑ 1 2 Mihail Mirzayanov. ACM-ICPC Final 2017: Leads from the fields . Codeforces (23 mai 2017). Preluat la 25 martie 2019. Arhivat din original la 25 martie 2019.
  5. Finaliști mondiali din Eurasia de Nord . Consultat la 14 octombrie 2019. Arhivat din original la 14 octombrie 2019.
  6. Mier. rezultatele rundei de selecție pentru 2017 și 2018 : Tallinn SU a încetat să participe.
  7. Mier. rezultatele rundei de selecție pentru 2020 și 2021 : VU și LU au încetat să mai participe (un asterisc în fața numelui echipei înseamnă participare în afara competiției).
  8. Regulile Concursurilor Regionale ICPC 2008  ( 27 februarie 2008). Preluat la 3 decembrie 2010. Arhivat din original la 22 august 2011.
  9. 1 2 :: ACM ICPC, NEERC, Subregiunea Sud :: Ordinea și regulile competiției . Preluat la 18 octombrie 2011. Arhivat din original la 21 septembrie 2011.
  10. Regulile finalei mondiale ACM-ICPC 2009  ( 8 aprilie 2008). Preluat la 3 decembrie 2010. Arhivat din original la 22 august 2011.


Link -uri