International Collegiate Programming Contest

This is an old revision of this page, as edited by Esrogs (talk | contribs) at 21:12, 17 March 2004 (added a link to topcoder article). 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) is a major programming competition for undergraduates. See also TopCoder, which is a similar cometition conducted online.

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 twi World Finals or four regional competitions are ineligible to compete again.

During contest, the teams are given about 8 programming problems and 5 hours of time. 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 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. It starts with local contests held at every university. Then, universities compete in Regional contests. Winners of Regional contests advance to 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

2004 World Finals will be held in Prague, Czech Republic from March 28 to April 1. This is the first time when World Finals are held outside North America.

2005 World Finals will be held in Shanghai, People's Republic of China in March, 2005. This is the second time when World Finals are held outside North America.