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 .
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]
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.
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.
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) .
Concursuri de programare | |
---|---|
Competiție | |
Organizații |