2006 Stanford Local Programming Contest
Saturday, 7 October 2006
Gates B02 (basement computer cluster) and Gates B21 (PUP cluster)
12:00 pm to 5:00 pm
Sponsored by
News and updates
Congratulations to all participants! The
first and second Stanford ACM teams for 2006-07 are
First team
- Andy Nguyen (undergraduate) -- solved 6 problems
- Antoine El Daher (graduate) -- solved 6 problems
- Jonathan Lee (graduate) -- solved 5 problems
Second team
- Chen Gu (graduate) -- solved 5 problems
- Craig Schroeder (graduate) -- solved 5 problems
- Meng-Hsuan Wu (undergraduate) -- solved 5 problems
Alternates
- Alex Utter (graduate) -- solved 5 problems
- Justin Solomon (undergraduate) -- solved 5 problems
- James Connor (graduate) -- solved 5 problems
Teams consist of the highest ranking eligible individuals.
Many thanks to Samuel Gross and David Arthur for suggesting several of the
problems used in this contest! Thanks also to Tomas Rokicki and Andy Lutomirski for debugging the problem set beforehand!
And a big thank you to Palantir Technologies for helping make this event a huge success!
Judge solutions and test data are now available:
Statistics on the problem set, thanks to David Arthur:
Problem | # #AC | %AC %CE %PE %RE %TL %WA | Fastest Avg
---------+---------+-----------------------------------+----------------
army | 29 18 | 62.07 0.00 0.00 3.45 10.34 24.14 | 17 65.50
fib | 27 21 | 77.78 0.00 0.00 7.41 14.81 0.00 | 11 98.86
football | 29 13 | 44.83 0.00 0.00 17.24 10.34 27.59 | 96 163.08
robot | 10 2 | 20.00 0.00 0.00 10.00 0.00 70.00 | 191 206.00
spam | 26 12 | 46.15 3.85 0.00 3.85 30.77 15.38 | 59 157.33
sudoku | 7 1 | 14.29 0.00 0.00 0.00 85.71 0.00 | 211 211.00
ttt | 55 19 | 34.55 0.00 0.00 0.00 0.00 65.45 | 42 135.58
---------+---------+-----------------------------------+----------------
TOTAL | 183 86 | 46.99 0.55 0.00 5.46 13.11 33.88 | 11 121.65
The contest problems are available in PDF and PS format.
The final contest scoreboard can be found here.
Instructions for the contest and a practice problem have been posted in PDF
and PS format. Please try these out before the contest to make sure that the contest scripts
are working properly for you.
Since a number of people have to come to me regarding prior conflicts with contest date, I've decided
to offer an alternate Friday contest time in addition to the regular Saturday contest. The Friday contest will take
place from 5 pm to 9:30 pm, at the same location as the regular Saturday contest. If you cannot make the Saturday contest and
will be competing early, please email me!
This year, Palantir Technologies has generously offered to
provide prizes for the top several winning individuals eligible for the ACM team! The prize list includes:
- 1st place: 30 GB iPod (plays video)
- 2nd-3rd places: 2 GB iPod nanos (scratch-resistant)
- 4th-6th places: $50 Stanford bookstore gift certificates
Along with the presentation of awards, there will also be free pizza following the contest, so come and hang out with us!
What is this all about?
Once again, Stanford will be hosting a local programming contest to select the students
who will represent Stanford at the 2006 ACM
Pacific NW Regional Contest, and hopefully, at the 2007
ACM International Collegiate Programming Contest in Tokyo, Japan!
The local contest will be an individual contest (students compete as individuals,
and not on teams. The top six individuals will be grouped to form two teams of three
students each to represent Stanford at the regional contest.
The top two teams at the regional contest qualify for the International Contest Finals to be
held in mid-April. The winning students not only bring fame and glory
to their university, they also win hefty scholarships ($$) and plenty of free software.
The contest pits teams of three with one computer against a host of problems in a limited
time-frame. Typically, six or more problems are posed with five hours to solve as
many as you can. These problems can generally be solved by careful analysis and application
of algorithms taught in undergraduate computer science. Some are quite challenging. For
examples, see the problems from previous years of this contest.
Am I eligible to compete?
To qualify for a spot on the Stanford ACM team:
You MUST be currently enrolled at Stanford.
You MUST NOT have previously competed as a finalist more than once.
You MUST be a programmer/hacker able to code under pressure.
You MUST have a natural love for fun mathematical problems.
One of the following must apply to you:
- You were born in 1983 or later.
- You started college in 2002 or later.
- You have completed no more than eight semesters of full-time study (i.e., a first-year grad student who has just completed a 4-year degree is eligible).
Note that in the past, a maximum of one graduate student was allowed per team -- this is no longer the case.
For more details, go here.
NOTE: Even if you're not eligible to compete for a spot on the Stanford ACM
team, as long as you have a Leland account, you may participate in the local contest anyway! Come
join the fun!
How do I compete?
STEP ONE: Send an e-mail to indicating that you will be competing so that we can get a rough idea
of how many students to expect. Please also mention
- whether you are an undergraduate or graduate student,
- whether you are eligible for a spot on the Stanford ACM team, and
- whether you would prefer to work at Gates or in your own room
STEP TWO: Come to Gates room B02 (the computer cluster in the basement) on Saturday,
October 7th at 12:00 pm. We will go over the rules of the contest, set you up with a practice
problem, and begin the contest promptly at 1:00 pm. You may also work from your own room by
sshing to any of the Leland systems machines (saga, elaine, etc).
STEP THREE: Code like mad!!! The contest will last 4 hours. There are some great
practice problems to try in the archives (previous contest pages). Come and help make a
good showing for Stanford. We hope to see you there!
Rules and FAQ
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 two teams of three
students each.
Can you bring notes/books to the contest?
Yes. You can bring textbooks, notes, printouts of code, and any other written material you want.
However, you may NOT bring any MAGNETIC media (disks). In other words, you will have to MANUALLY
TYPE into the computer any code that you use in your solutions (i.e. code that has been entered
and/or compiled before the contest begins may NOT be used). You MAY NOT use any electronic
devices (ie. calculators, laptops), since you will have a fairly sophisticated "calculator"
sitting in front of you. You also MAY NOT browse the web and download code. At the Regional
contest, all you'll have is a PC plus any printouts/books/notes that you carry with yourself.
What platforms and languages will be supported?
At last year's regional contest and world finals, the programming environment consisted of
Red Hat Linux 9.0 with all standard editors and compilers as well as some optional IDEs. 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. The Gates B02 contains mainly PC systems, so
contestants must "ssh" to the Sweet Hall machines and compose and compile their code there. 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 in this manner. If you're using a Windows machine, consider using the
VNC utility for running
remote XWindows sessions. We will support the judging of C, C++, and Java code.
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 5-7 problems.
What about scoring?
We'll explain more at the contest, but the judging proceeds as follows:
- Solutions to problems submitted for judging are called runs. Each run is judged as accepted
or rejected, and the contestant is notified of the results. Rejected runs are marked as
follows:
- 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.
How do I prepare for this contest?
Success in the ACM programming contest requires a combination of coding speed and algorithmic
ability. To make sure that you're ready for the contest, make sure that you are comfortable with
the programming environment for the local contest (see Rules and FAQ above). Contest problems typically
involve dynamic programming, search, simulation, geometry, and more.
The best way to prepare for ACM-style programming problems is to practice! The
Universidad de Valladolid Problem Set Archive has tons of
problems that you can solve and an online judge for grading your solutions automatically. Other problem
set archives may be found here and
here. Also, check out the problems from previous
contests in the section below. Although it uses a different competition format, the online
TopCoder weekly matches provide very useful preparation for ACM; one
of the most useful features of the website is the ability to look at other contestant's solutions to problems
from previous contests.
Previous contests
2005 Stanford Local Programming Contest
2004 Stanford Local Programming Contest
2003 Stanford Local Programming Contest
2002 Stanford Local Programming Contest
2001 Stanford Local Programming Contest
2000 Stanford Local Programming Contest
1999 Stanford Local Programming Contest
1998 Stanford Local Programming Contest
1997 Stanford Local Programming Contest
1996 Stanford Local Programming Contest
1998-2003 Pacific Northwest Regional Contests
2003-2004 ACM ICPC Regional Contests
2002-2003 ACM ICPC Regional Contests
2001-2002 ACM ICPC Regional Contests
2006 ACM ICPC World Finals
Problem writers: Chuong Do
Local contest organizer: Chuong Do
E-mail: