
There are many coding contests that are currently offered to programmers. We are aiming to provide a fun and familiar coding competition with a different spin. By having a contest where users run their own code, we allow programmers the flexibility to use the programming languages and techniques of their choice.
Collaborating with anyone else during the contest is strictly prohibited and will result in your disqualification. This includes discussing or sharing the problem statements or solutions with others. Creating or participating with multiple accounts is also prohibited. If we believe that you have undermined the integrity of the contest, we reserve the right to disqualify you. Use your best judgment. If you have a question about whether something is allowed, please ask an administrator.
Because programming problems often require very precise language, the risk of mistranslating a problem is too great, and the consequences are very severe: a single wrong word can give a very real disadvantage or advantage to contestants reading it. Because of this, we've decided not to translate the problems or website into other languages. You may use the translator of your choice.
Google will provide a visa invitation letter after Round 3 to anyone in the Top 25, who will need a tourist visa to participate in the Onsite Finals in Mountain View, California. To ensure that finalists receive their tourist visa in time, it is recommended to secure an early visa appointment with the embassy. Google will cover the reimbursement of your visa(s).
Please note that it is your responsibility to have a valid passport before your date of travel.
Absolutely! As long as the compiler or interpreter you used for that language is freely available and easy to download and use, you are free to use any language you want. Please include a README file with details on how to obtain a copy of the compiler and instructions on how to compile your code. If the administrators are unable to freely and easily obtain the compiler and compile your code, your submission will be marked incorrect.
Here's what our rules say about programming languages: You can use any programming language to solve the problems, using any development environment or text editor, as long as the compiler or interpreter you used for that language is freely available and easy to download and use. Time-limited trials for compilers and interpreters are disallowed. Visual Studio is acceptable as a compiler, since there's a free version of (almost the same) compiler available, Visual Studio Express. Google reserves the right to make further exceptions on a case-by-case basis.
If your compiler/interpreter has limitations placed on who can use it, for example if it's in a time-limited open beta, it must be available to all contestants for 48 hours after a round in which you use it.
We've asked you to selecting your preferred programming language during registration purely for our own interest, so we can find out what our contestants like to use. During the contest, you may use any language(s) as long as other contestants will have no problems running your source code and producing the same output.
You can use any programming language or tools, as clarified above. You can also write helper code before the contest, or even pull code off the web (as long as it's under a license that you and we can use without charge or restriction). When you submit the output for each problem, you'll need to submit all of the code that you used.
You are free to use whichever operating system you wish for solving the problems. We continually test the website on Linux, Windows and Mac OS to make sure it works on as many operating systems and browsers as possible. The site should work with most modern browsers; if you're having trouble with yours, please let us know and fall back to Firefox 2+ or Internet Explorer 7+ while we examine your issue.
To contact an administrator with questions about the contest:
An administrator will respond to your question in English, either to you directly or to all contestants. When the administrator responds, a number in parentheses displays next to your "Ask a question" link, indicating how many unread messages you have.
The Qualification Round lasts 24 hours, during which you can compete at any point. You can spend any amount of time during the round writing your solutions, though we intend the problems to be solvable in a couple hours. As long as you leave yourself enough time to solve the problems, there is no disadvantage to competing later in the 24-hour period.
First, make sure that you've registered for Code Jam 2009 and that you're currently signed in to our site with the correct Google Account. Still not working? You may have been eliminated from this year's competition during one of our earlier rounds, or you also could have already qualified to move forward. If you're still having trouble, confirm that you're eligible to compete in the round that's currently occurring - for example, if you've been assigned to sub-rounds 1A and 1C, you won't be able to participate in 1B.
You can answer the problems in any order that you wish. In particular, looking at a problem does not start any timers, so you could read all of them at the start and solve them in the order of your choice. There are different point values for each input in each problem, and we will generally give lower point values to the questions we think are the easiest.
The ".in" files are simply text files. You are required to write a program that takes the text from the .in file as input and produces some output (as defined by the problem statement). If you would like to look inside the .in file, you can open it in a text editor. Wordpad or Notepad++ will work, as well as any other editor that understands UNIX endlines. (Notepad will display .in files incorrectly.)
A message will appear in yellow above the problem interface telling you whether you solved it correctly or not.
The judgments for the large inputs will not be available until the end of the round. We will have a "quiet period" at the end of the round before revealing results.
You must upload all of your code in addition to any non-standard libraries you used to solve each input/output set. Uploading files larger than 100kB is not allowed. You may upload a ZIP archive containing multiple files, as long as their total uncompressed size does not exceed 1MB. With each submitted output file, you must submit the source code used to generate that output.
If you realize that you have accidentally submitted the wrong source code, please contact our administrators during the contest and ask for a chance to resubmit. A penalty may be applied.
The system will only accept solutions and source code files within the contest round. If you submit a solution or source code after the contest period round, it will not count toward your score.
It is a violation of the rules to submit code that is different from the code used to produce your output for the corresponding input. Doing so may result in disqualification.