International Collegiate Programming Contest

This is an old revision of this page, as edited by Jumbuck (talk | contribs) at 04:03, 2 November 2004 (robot Adding:ru). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

ACM International Collegiate Programming Contest (abbreviated as ACM/ICPC or just ICPC) is a major programming competition for undergraduates.

History

The first contest was held in 1977. It has been held annually since then. Originally, the contest included mainly teams from US and Canada. It has grown into a worldwide competition with 3150 teams from 75 countries in 2004. The number of teams keeps increasing by 10-20% every year and future competitions may be even larger.

Contest rules

ACM/ICPC is a team competition. Each team consists of three students. Participiants 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 four regional competitions are ineligible to compete again.

During contest, the teams are given 5 hours to solve between 8 and 10 programming problems (with 8 typical for regionals and 10 for finals). They must submit solutions as programs in C, C++, Pascal 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 several teams solve an equal number of problems, the placement of teams is determined by the time when they submitted the correct solutions.

For example, consider a situation when two teams, A and B, solve two problems each. The team A submitted their solutions 1:00 and 2:45 after the beginning of the contest. The team B submitted solutions 1:20 and 2:00 after the beginning. Then, the total time is 1:00+2:45=3:45 for team A and 1:20+2:00=3:20 for team B and team B wins.

If, before submitting the correct solution, the team has submitted incorrect solution to the same problem, it receives a 20 minute penalty for each incorrect solution attempt.

Compared to other programming contests (for example, International Olympiad in Informatics, ACM/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 a local contest to determine participants at the regional level. Then, universities compete in Regional contests. Winners of Regional contests advance to 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).

Some large regions also hold Subregional competitions which are intermediate between local and regional contests.

Winners

The most recent World Champions are:

Upcoming contests

See also: TopCoder, a similar set of competitions conducted online.