TopCoder - Algorithm Competitions

Algorithm Competitions

TopCoder has been hosting algorithm competitions since 2001. Current SRMs consist of four phases:

  • Coding phase (75 minutes): Coders write programs to solve three short problems using a limited selection of languages (currently C++, Java, C# and Visual Basic). Each problem set consists of an easy, medium, and hard question, the difficulty of which is reflected in each problem's point value. The problems' point values vary from match to match; a common point value distribution is 250, 500, 1000. Also, the quicker a coder solves a given problem, the more points that coder gets.
  • Intermission (5 minutes): After the coding phase ends, there is a short break before the challenge phase begins. This time can be used to think of challenge cases.
  • Challenge phase (15 minutes): Coders can challenge the submitted solutions of other participants in their room by constructing test cases in an attempt to generate erroneous output. The challenger receives 50 points for a successful challenge (the challenged coder loses all his points for that problem), and loses 25 points for an unsuccessful challenge. Each successful challenge is added to the set of tests to be run during the system testing phase.
  • System-testing phase: Each problem that survives through the challenge phase is run on many test cases. If a coder's solution fails the system tests, that coder receives no points for the problem.

At the end of the contest, ratings are updated to incorporate each participating coder's performance.

Read more about this topic:  TopCoder