En el concurso participan equipos de tres estudiantes de una misma universidad y tienen que resolver cinco o más problemas complejos que ponen a prueba sus habilidades como programadores y que tienen relación con los que se presentan en la vida real en distintas áreas de la ciencia de la computación. Cuentan con un tiempo límite de cinco horas.
Cada equipo cuenta con una sola computadora por lo que la lógica y la estrategia juegan un papel importante. Los compañeros de equipo deben clasificar los problemas por dificultad, deducir los requerimientos, diseñar pruebas y programar el software que satisfaga todas las pruebas de los jueces.
Para estudiantes bien entrenados, algunos problemas requieren solamente de precisión. Otros requieren un conocimiento profundo y una gran comprensión de algoritmos avanzados.
El jurado es muy estricto. Los competidores reciben la descripción de un problema, pero no conocen todos los requerimientos que la solución debe tener. También cuentan con algunos ejemplos de entradas, pero no conocen las entradas con las que serán juzgados ni los criterios de los jueces.
Cada solución incorrecta conlleva una penalización de tiempo. El equipo que resuelva la mayor cantidad de problemas con el menor tiempo acumulado es declarado ganador.
A los primeros lugares en cualquier nivel se les otorgan premios. A los ganadores de los Regionales se les paga el viaje al mundial. Los ganadores del mundial además de obtener premios y reconocimientos, también pueden obtener becas para postgrados y ofertas de trabajo.
Para conocer a detalle todas las reglas, se puede visitar la
página oficial del ICPC, además de las páginas de cada
concurso regional.