The ICPC is a team competition. Current rules stipulate that each team consist of three students. Participants must be university students, who have had less than five years of university education before the contest. Students who have previously competed in two World Finals or five regional competitions are ineligible to compete again.
During contest, the teams are given 5 hours to solve between 8 and 12 programming problems (with 8 typical for regionals and 10 for finals). They must submit solutions as programs in C, C++, or Java. Programs are then run on test data. If a program fails to give a correct answer, the team is notified about that and they can submit another program.
The winner is the team which correctly solves most problems. If necessary to rank teams for medals or prizes among tying teams, the placement of teams is determined by the sum of the elapsed times at each point that they submitted correct solutions plus 20 minutes for each rejected submission of a problem ultimately solved.
For example, consider a situation when two teams, Red and Blue, tie by solving two problems each. The team Red submitted their solutions to A and B at 1:00 and 2:45 after the beginning of the contest. They had a rejected run on C, but it was ignored since they didn’t solve C. The team Blue submitted solutions to problems A and C at 1:20 and 2:00 after the beginning. They had one rejected run on C. Then, the total time is 1:00+2:45=3:45 for team Red and 1:20+2:00+0:20=3:40 for team Blue. The tie is broken in favor of Team Blue.
Compared to other programming contests (for example, International Olympiad in Informatics), the ICPC is characterized by a large number of problems (8 or more problems in just 5 hours). Another feature is that each team can use only one computer, although teams have three students. This makes the time pressure even greater. Good teamwork and ability to withstand pressure is needed to win.
Regionals and World Finals
The contest consists of several stages. Many universities hold local contests to determine participants at the regional level. Then, universities compete in Regional contests. Winners of Regional contests advance to the ACM-ICPC World Finals. More than one team from a university can compete in regionals, but only one may compete at the world finals. From each region, at least one team goes to World Finals. Regions with large number of teams send multiple teams to finals (sometimes as many as 6 teams from one very large region).
No participant can take part in more than two World Finals.
Some large regions also hold Subregional competitions (also called Preliminaries) which are intermediate between local and regional contests.
In ACM/ICPC, the result has seven different expressions (AC, WA, RTE, TLE, PE, MLE, CE).The result AC means the code is accepted by the system.
ACM ICPC主要有两个赛事，一是每年秋季举行的各大洲区域赛（regional），二是每年春季举行的全球总决赛（world finals）。每个区域赛的第一名自动晋级总决赛，后面的队伍能否晋级总决赛，取决于各赛区参赛学校、参赛队伍等情况。