Is the local contest an individual or team event?
Students participating in the local contest will compete as individuals. The top scorers will be grouped together to form the best possible teams. There will be at least two (possibly three) teams of three students each.
I want to participate, but what if I can't make October 8th?
You really want to win this contest and qualify yourself for the regional contest teams, but you've got a previous engagement on Saturday. Don't worry, you may not be completely out of luck! If there is enough demand, we will run an early version of the contest on Friday evening, just for those contestants in your situation. Please register for the contest anyway, and put as a note that you prefer to compete on Friday evening instead.
Can I bring notes/books to the contest?
Yes. You can bring textbooks, notes, printouts of code, and any other written material you want. You may not search for solutions to specifics problems on the Internet, though you are permitted to use online language references (e.g., the Java API documentation) and digital versions of textbooks or course notes. However, you may not electronically copy from machine-readable versions existing code or data. That is, all programs submitted must be manually typed in their entirety during the contest. No cutting and pasting of code is allowed!
Can I use my own laptop or personal computer for the contest?
Yes, and we would actually encourage you to do so if that is the development environment you are most comfortable with. However, the solutions you submit will be compiled, run, and judged on the myth machines, so if you're writing any code that may be compiler or platform specific, it would be worthwhile to test your program on myth before submitting it. The judges are not responsible for any discrepencies between your development environment and that found on the myth systems used for judging. (see next question)
To keep the computing environments as fair as possible across contestants, we ask that you restrict your use of software during the contest to text editors, IDEs, document readers, and a browser for the sole purpose of connecting to the contest site (and perhaps a language reference). In other words, please refrain from using programs like Mathematica, Maple, or other specialized tools if you have them installed. You may also use a simple electronic calculator (or the software one that comes pre-installed on your OS), but no fancy graphing calculators please!
What programming languages and platforms will be supported?
You may submit solutions to the contest problems in C, C++, or Java. The solution to any one problem must be fully contained within a single source file. The contest judge will be compiling and testing your solutions on a Linux system using gcc/g++ version 4.1.2 (or later) and Java version 1.6 (or later), so be sure your code compiles and runs on that environment!!!
At last year's regional contest and world finals, the programming environment consisted of Ubuntu Linux 10.04 with all standard editors (vi/vim, emacs, gedit, kate) and compilers as well as some optional IDEs (Eclipse, Eclipse CDT). It would be great if we could replicate these conditions here at Stanford for the local contest, but we will have to make do with what we have.
Contest problems are designed so that input data is read as text from standard in (console), and text output is written to standard out. Solutions are to be submitted as source code to the judge via a web interface, so that the platform you are working on ultimately does not matter. Gates B02 contains desks with monitors and power outlets where you may bring and plug in your own laptop. If you are working in a Windows environment, you may want to ssh into one of Stanfords UNIX computing environments (myth, corn, etc.) to compile and test your code there as well. Students with CS accounts are encouraged to work from the nearby PUP cluster. It is a good idea to familiarize yourself with these machines BEFORE the contest so that you are comfortable with editing and compiling code on the contest machines. If you're using a Windows machine, but wish to edit and test your code in a UNIX environment, consider using the VNC utility for running remote XWindows sessions.
How many problems will there be?
We haven't decided yet. The problems and solutions this year are still being developed. There will most likely be 6 to 8 problems.
What about scoring?
Scoring for this contest is based on the number of correctly solved problems submitted during the 4 hour time period. There will be no credit for partial solutions. Details of the judging procedure are as follows:
- Solutions to problems submitted for judging are called runs. Each run is judged as accepted
or rejected, and the status of the run is shown on the contestant's submission panel. Rejected runs are marked as
- Each program is allotted only several seconds of execution time to process all of the input test data, so algorithmically efficient code is important!
- A student may submit as many solution attempts ("runs") for a given problem as he/she wishes.
- The students who solve the most problems in the allotted time period win. In the case of ties (which are almost assured), the student with the lowest total time wins.
- The total time is the sum of the time consumed for each problem solved. The time consumed for a solved problem is the time elapsed from the beginning of the contest to the submittal of the accepted run plus 20 penalty minutes for every rejected run for that problem regardless of submittal time. There is no time consumed for a problem that is not solved.