Google Code Jam logo
Overview  |  Schedule  |  Rules  |  Registration  |  Instructions  |  FAQ  |  Advancers  |  Competition Arena  |  Code Jam Group


The results of the Championship Round are in!
Brought to you by Google
Powered by TopCoder
Important Dates

Registration Starts
Monday, August 14th

Qualification Round
Tuesday, September 5th

Championship Round
Friday, October 27th
$165,000 in
Cash & Prizes!


1st Place - $10,000
2nd - 10th Place - $5,000
11th - 25th Place - $2,500
26th - 50th Place - $1,000
51st - 100th Place - $750
 
Official Rules and Regulations

No purchase necessary to enter or win. The tournament is void where prohibited.

Summary of the Tournament
The Google™ Code Jam 2006 is being offered by Google, Inc. ("Google") and TopCoder, Inc. ("TopCoder"). Google always focuses on creating innovative technologies that could benefit ordinary people's lives. The goal of this contest is to encourage and reward the top talents in computer science from all over the world. The Code Jam will take place between August 14, 2006 and October 27, 2006. It begins with an online registration, after which all registered individuals will participate in a Qualification Round to determine who will compete in the programming tournament. The tournament consists of one (1) online qualification round, two (2) online elimination rounds and one (1) onsite final round. The top 250 scores from Round 2 will receive a Google Code Jam 2006 t-shirt. In addition, Google will award $165,000 in cash and prizes to the 100 finalists in the tournament.

Eligibility
Any individuals may register and compete in the Google Code Jam 2006 provided they meet the eligibility requirements. Please note that due to potential visa restrictions, some finalists may not be able to participate at the on-site finals in New York City, New York, USA.

Registrants who are 13 years of age or older as of September 5, 2006 may compete in the Qualification and Online Rounds of the Google Code Jam 2006. Only participants who are 18 years of age or older as of September 5, 2006 are eligible to compete in the Championship Round and to win cash and prizes, unless otherwise prohibited. The Google Code Jam 2006 is void where prohibited by applicable law. Cash and prizes, including t-shirts, will not be provided to residents of Cuba, Iran, Iraq, Libya, North Korea, Sudan or Syria.

Full and part-time employees of Google and TopCoder, as well as those who are performing internships at Google from September 5 through October 27, 2006, and those involved in the production (including prize suppliers), implementation and distribution of this tournament and their advertising or promotion agencies, parent companies, service providers, agents, officers, subsidiaries or affiliates, or any other persons or entities directly associated with the tournament and members of the immediate families and/or persons living in the same household as such persons, are ineligible to enter the tournament.

Registration
Registration will open on Monday, August 14, 2006 at 9:00 AM EDT (GMT/UTC -4) and will close on Tuesday, September 5 at 9:00 AM EDT (GMT/UTC -4). There is no limit to the number of registrants for the competition, however each individual may only register once.

Qualification Round
The Qualification Round will be open for 24 hours from 12:00 PM Noon EDT (GMT/UTC -4) on Tuesday, September 5, 2006 through 12:00 PM Noon EDT (GMT/UTC -4) Wednesday, September 6, 2006.

The Qualification Round will consist of two phases: the Coding Phase and System Testing Phase.
  • The Qualification Round Coding Phase is a timed event where contestants are presented with one of five possible problem sets. Each problem set contains two questions representing two levels of complexity and, accordingly, two levels of point earnings potential. Points for a question are awarded upon submission of any solution that successfully compiles and are calculated based on the total time elapsed from the time the question was opened to the time it was submitted. Competitors will have 60 minutes to complete either or both of the problems. The 60 minutes will begin to elapse once the first problem is opened. The timer in the coding window will count down to the end of the 60 minutes. A competitor who begins the qualification attempt within the final 60 minutes of the Qualification Round will have less than 60 minutes to attempt qualification.
  • The Qualification Round System Testing Phase is applied to all submitted code. If the TopCoder System Test finds code that is flawed, the author of that code submission will lose all of the points that were originally earned for that code submission. The automated tester will apply a set of inputs, expecting the output from the code submission to be correct. If the output from a coder's submission does not match the expected output, the submission is considered flawed. The same set of input/output test cases will be applied to all code submissions for a given question.
The Qualification Round will contain (10) virtual rooms and five (5) problem sets. The top 200 scorers from each of the five problem sets presented during the Qualification Round will be eligible to compete in Round 1 of the Code Jam 2006.

The Competition Field
Up to 1,000 individuals will qualify to compete in Round 1. The top 500 scorers from Round 1 will advance to Round 2. The top 100 scorers from Round 2 will advance to the onsite Championship Round.

The Rounds will be held on the following dates:

Round Date and Time * (all Eastern Time)
Round 1 Thursday, September 14, 2006
Sign in: 7:00 - 9:55 AM
START: 10:00 AM
Round 2 Tuesday, September 19, 2006
Sign in: 7:00 - 9:55 AM
START: 10:00 AM
Championship Round Friday, October 27, 2006**
START: TBD
*NOTE: All times are denoted as EDT (GMT/UTC -4). In the event a Round must be cancelled for any reason, the round will be held on the next possible business day at the same time.
**The Championship Round date is subject to change with or without prior notice.


About the Tournament
Use of Plugins in the Competition Arena
The use of external TopCoder Arena plugins or any modifications to the TopCoder Arena functionality is strictly prohibited.

Languages
The competition is available in five programming languages - Java, C++, C#, VB.NET and Python.

NOTE: All submissions have a maximum of 2 seconds of runtime per test case.  This limit is used in harder problems to force submissions to be of a certain complexity.  Because the inherent speed differences between Python and the other offered languages is large, some problems may require extra optimization or not be solvable using the Python language.

Code Obfuscation
Intentional obfuscation of code submissions is not allowed. Any code submission that contains obvious and deliberate code obfuscation will be rejected and any points received for that submission would not count towards your final score. For the purpose of this policy obfuscation is defined as "An obvious and deliberate attempt to disguise the true behavior or nature of the code." In ALL cases, TopCoder / Google will make the final decision as to whether or not a code submission has been intentionally obfuscated. In some cases, TopCoder / Google may decide to "nullify" any unsuccessful challenges that have been applied against a code submission that is determined to be obfuscated. We encourage any competitor to notify us in the event that you feel that a code submission violates this policy.

Online Elimination Rounds
Everyone who competes in the online elimination rounds must log in to the TopCoder Competition Arena no later than ten minutes prior to the start of the online round. All start times will be communicated as EDT (GMT/UTC -4), so contestants in other time zones must adjust accordingly. If a coder does not participate, for any reason, in an online round he/she has advanced to, it will be treated as an automatic loss in that round of competition.

All competitors who have been invited to compete will be randomly assigned to specific rooms, with up to 10 people in each room. TopCoder will determine all room assignments prior to the start of each online round.

Scoring and Advancing
After each round of competition, the top scorers will be identified and will advance to the next round. Coder advancement in all rounds is determined by comparing the total point values from all three phases of the round for each coder. In order to advance, a coder must finish each round with a positive (i.e., greater-than-zero) point total. The structure of the online rounds is as follows:

Round 1 (online)
  • Up to 1,000 coders will compete in Round 1. The 500 highest scoring competitors will advance to Round 2. Each coder must have positive points to advance, so if there are less than 500 competitors who score positive points, only those competitors with a positive point total will advance.
Round 2 (online)
  • Up to 500 coders will compete in Round 2. The 100 highest scoring competitors will advance to the Championship Round. Each coder must have positive points to advance, so if there are less than 100 competitors who score positive points, only those competitors with a positive point total will advance.
NOTE: In the event of a tie for any advancing position (positive points only), all tied coders will advance to the Championship Round.

Competition Round Structure
Round 1, Round 2 and the Championship Round (excluding the Qualification Round) consists of three phases: the Coding Phase, Challenge Phase, and System Testing Phase. The Qualification Round will consist only of the Coding Phase and System Testing Phase. (See "Qualification Round" above for details regarding the Coding Phase and System Testing Phase of the Qualification Round.)
  • The Coding Phase is a timed event where all contestants are presented with the same three questions representing three levels of complexity and, accordingly, three levels of point earnings potential. Points for a question are awarded upon submission of any solution that successfully compiles and are calculated based on the total time elapsed from the time the question was opened to the time it was submitted.
  • The Challenge Phase is a timed event wherein each competitor has a chance to challenge the functionality of other competitors' code. A successful challenge will result in a loss of the original problem submission points by the defendant, and a 50-point reward for the challenger. Unsuccessful challengers will incur a point reduction of 25 points as a penalty, applied against their total score in that round of competition.
  • The System Testing Phase is applied to all submitted code that has not already been successfully challenged. If the TopCoder System Test finds code that is flawed, the author of that code submission will lose all of the points that were originally earned for that code submission. The automated tester will apply a set of inputs, expecting the output from the code submission to be correct. If the output from a coder's submission does not match the expected output, the submission is considered flawed. The same set of input/output test cases will be applied to all code submissions for a given problem. All successful challenges from the Challenge Phase will be added to the sets of inputs for the System Testing Phase.
Onsite Championship Round
Up to 100 advancers from Round 2 will compete in the onsite Championship Round of the tournament being held on Friday, October 27, 2006.

If you need a visa to travel to the United States, it is in your interest to make an appointment with the embassy early. TopCoder will provide visa letters to round 2 advancers. Round 2 advancers who need assistance can contact Jessie D'Amato Ford at jdamato@topcoder.com for a visa letter.

Google will contact all finalists for travel information and will provide all travel accommodations for each finalist to attend the Championship Round. In addition, Google will provide overnight accommodations and all travel arrangements to and from the airport, as well as to and from the onsite round facility. All other expenses are the responsibility of the contestant.

The Championship Round will be a single round of 100 coders. Placement in the Championship Round is determined by comparing the total points of each coder. The winner of the Championship Round will be the coder with the highest point total for the round. In the event of a tie in the Championship Round, the tie will be resolved in the following manner (in order):
  • Total points acquired (higher is better) during online Round 2.
  • If a tie still remains, then by total points acquired (higher is better) during online Round 1.
  • If a tie still remains, then the prize money will be distributed equally among the tied coders.
About the Prizes
The top 250 scores from Round 2 will receive a "Google Code Jam" t-shirt. In addition, the 100 finalists in the Championship Round will receive prizes. Any and all applicable taxes on prizes are the sole responsibility of the prizewinner. Prizes will be distributed as follows:

Competitor(s) Prize*
First Place $10,000
2nd - 10th Place $5,000
11th - 25th Place $2,500
26th - 50th Place $1000
51st - 100th Place $750
* Winners must be present at the onsite round to receive prize.


Conditions of Participation
By participating in the tournament, you agree to be bound by these rules and to all decisions of Google and TopCoder, which are final, binding and conclusive in all matters. Also, by participating in this tournament, you consent to providing certain information to Google for recruiting purposes. Such information shall include your registration information and your competition statistics.

Contestants must not cheat. All ideas for code and/or challenge submitted must be the contestant's alone. In this case, the word "cheat" means collaboration of any sort — including, but not limited to, working with another competitor, submitting code that was not fully authored by you, and using resources, software, etc. that are not allowed in the competition. TopCoder and Google reserve the right, in their sole discretion, to remove any competitor from the tournament who they suspect has cheated.

Winners in each round of competition will be those competitors that are the top scorers. All decisions relating to the viability of submissions, the ranking of submissions and all other matters pertaining to the tournament shall be within the sole discretion of TopCoder or its designee and shall be final and binding in all respects.

Prizewinners will be announced upon completion of the Championship Round. Any prizewinner claiming a prize must complete the following documents onsite before claiming the prize (Google will provide the prizewinners with these documents prior to the start of the Championship Round):
  • Affidavit of Eligibility and Liability and Publicity Release
  • Applicable tax form, if necessary
Prizes will be announced onsite upon receipt of the documents identified above. All t-shirts will be sent by Google after the conclusion of the Championship Round to competitors using the address given during registration, and may take 4-6 weeks to arrive. Unclaimed or undeliverable prizes will not be awarded.

As a condition of participation in the tournament, all information provided by you upon registration must be comprehensive, accurate and up-to-date. Google and/or TopCoder may require you to complete an additional registration form to register for the tournament. In order to be eligible to participate in the tournament, you must have completed any and all registration forms required by Google and TopCoder.

As a condition of winning and redeeming a prize, winners will be required to complete and provide to Google a completed (i) Affidavit of Eligibility and Liability and Publicity Release (the "Affidavit"), and (ii) an applicable tax form, as appropriate. In completing the Affidavit, a winner (a) confirms his/her eligibility, (b) represents and warrants that he/she has not cheated; that the idea for the code and/or challenge submitted is his/hers alone, (c) verifies the accuracy of the information submitted in the Google Code Jam registration process, (d) authorizes TopCoder and Google to publicize the tournament's results, (e) agrees to sign any applicable forms required by tax authorities, (f) licenses to TopCoder and Google rights to all information submitted during the tournament (including rights to source code and other executables), and (g) releases TopCoder and Google from liability arising out of any prize won. Google requires contestants to complete necessary tax forms, as applicable, for tax reporting purposes.

If prize notification is returned as undeliverable, or if the winner fails to return the Affidavit or the applicable tax form, the winner will be disqualified and the prize won by the disqualified winner will be forfeited. Providing false information in the registration process or in the required forms described in this paragraph will disqualify a winner.

By participating in a tournament and redeeming a prize, a winner releases and agrees to hold harmless Google and TopCoder, their affiliates, subsidiaries, advertising and promotion agencies, sponsors, and prize suppliers, and all of their respective directors, officers, employees, representatives and agents, from and against any and all liability for any loss, property damage or damage to person, including without limitation, death and injury, due in whole or in part, directly or indirectly, from or arising out of participation in this tournament, or participation in any tournament-related activity, or the receipt, use or misuse of a prize. Google and TopCoder specifically disclaim all liability associated with, and make no warranties with regard to, any prize given.

In addition, all prizewinners agree to cooperate with Google's and TopCoder's publicity efforts, without further compensation. This includes the agreement to use their name, handle, address (city and state) and likeness for publicity purposes, where legal, for this or similar future tournaments, and to use the statements made by, or attributed to, the winners relating to Google and TopCoder and any and all rights to said use, without further compensation.

Google and TopCoder reserve the right, in their sole discretion, to revoke any and all privileges associated with competing in this tournament, and to take any other action it deems appropriate, for no reason or any reason whatsoever, including if TopCoder suspects competitors of cheating, tampering with the entry process, the operation of the Web site, or the tournament process, or otherwise being in violation of the rules. Google and TopCoder reserve the right to cancel, terminate or modify the tournament if they are not capable of completion as planned for any reason, including infection by computer virus, bugs, tampering, unauthorized intervention or technical failures of any sort.

Other
The tournament is void in whole or in part where prohibited by law.

This tournament is brought to you by TopCoder, Inc. (http://www.topcoder.com/) 703 Hebron Avenue (now 95 Glastonbury Blvd), Glastonbury, CT 06033 and Google Inc. (http://www.google.com) 1600 Amphitheatre Parkway, Mountain View, CA 94043.

To find out more detailed information about the Google™ Code Jam 2006, please read the Terms and Conditions.