L'ACM International Collegiate Programming Contest, abbreviato ACM-ICPC o ICPC, è la più antica e prestigiosa gara internazionale di programmazione per studenti universitari (programmazione competitiva nella fattispecie). L'iniziativa, patrocinata dalla Association for Computing Machinery (ACM), è sponsorizzata da IBM.
Storia
[modifica | modifica wikitesto]La manifestazione trae origine dalle competizioni tenute all'interno della Texas A&M University negli anni '70. A partire dal 1989, la sede centrale si trova presso l'Università di Baylor e sono state create sedi periferiche presso università di altri continenti al fine di coordinare le gare nel resto del mondo. L'ACM-ICPC è sempre stata caratterizzata da una crescita costante in termini di partecipanti e attualmente coinvolge circa duemila università.
Regolamento
[modifica | modifica wikitesto]La gara annuale ha inizio con una fase eliminatoria continentale, in cui ogni università può inviare una o più squadre di tre studenti. Successivamente, le squadre classificate nei migliori piazzamenti continentali si affronteranno nella finale mondiale. I problemi propongono argomenti estratti da tutta la branca degli algoritmi, e possono essere risolti utilizzando un linguaggio di programmazione a scelta tra C, C++, Java e Python (anche se non è garantito che ogni problema sia risolvibile in Python). Il Pascal, usato in passato, è stato abbandonato.
Qualunque studente, ricercatore, docente, professionista del settore o appassionato della materia, può anche sottoporre fuori concorso la propria soluzione ai problemi delle passate finali. Le migliori soluzioni, ordinate in base al tempo di esecuzione e alla data di invio, vengono inserite all'interno della classifica internazionale relativa a ciascun problema. In caso di risposta non esatta, un messaggio automatico comunicherà il tipo di errore (output non corretto, programma che non termina, compilazione non andata a buon fine, uso eccessivo di memoria RAM ecc.).
Risultati italiani a squadre
[modifica | modifica wikitesto]Gli stati dell'Europa sud-occidentale partecipano a una gara a squadre (SWERC) a cui è possibile prendere parte senza selezioni preliminari. Per accedere alla fase successiva è necessario classificarsi al primo posto (talvolta può bastare il secondo). L'unica università italiana ad aver partecipato alle finali mondiali è la Scuola Normale Superiore nel 2018[1].
Non è prevista la partecipazione individuale alle gare. Tuttavia, è possibile risolvere gli stessi problemi, fuori concorso, su alcuni siti web dedicati alla programmazione competitiva.
Albo d'oro
[modifica | modifica wikitesto]Vittorie totali | Nome | Vittoria più recente |
---|---|---|
7 | Università Nazionale di Ricerca in Tecnologie Informatiche, Meccanica e Ottica di San Pietroburgo | 2017 |
4 | Università Statale di San Pietroburgo | 2016 |
3 | Università Jiao Tong di Shanghai | 2010 |
3 | Università di Stanford | 1991 |
2 | Università di Varsavia | 2007 |
2 | Università di Waterloo | 1999 |
2 | California Institute of Technology | 1988 |
2 | Università Washington a Saint Louis | 1980 |
Numero di vittorie | Stato | Vittoria più recente |
---|---|---|
17 | Stati Uniti | 1997 |
13 | Russia | 2018 |
4 | Cina | 2011 |
2 | Polonia | 2007 |
2 | Canada | 1999 |
1 | Rep. Ceca | 1998 |
1 | Germania | 1995 |
1 | Australia | 1992 |
1 | Nuova Zelanda | 1990 |
Note
[modifica | modifica wikitesto]Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su ACM International Collegiate Programming Contest
Collegamenti esterni
[modifica | modifica wikitesto]- Sito ufficiale ACM-ICPC (archiviato dall'url originale il 6 dicembre 2013). - mantenuto dalla Baylor University.
- Archivio live ACM-ICPC (archiviato dall'url originale il 7 luglio 2016). - mantenuto dalla Baylor University.