The collegiate programming contest is a yearly contest with several qualifiers per region. The participants of these
contests work in teams of three people with a single computer available. Every team tries to solve as many algorithmic
problems as possible within the duration of a contest (usually five hours) by writing computer programs. The best teams
of the world compete in the International Collegiate Programming Contest (ICPC or World Finals).
Teams that want to qualify for the ICPC have to participate in several preliminary contests. The first contest is the
Delft Algorithm Programming Contest (DAPC). This contest is open for all teams consisting of students of the TU Delft.
The best teams are then selected to participate in
the Benelux Algorithm Programming Contest (BAPC).
In this contest the top teams of the TU Delft will qualify to participate in
the North Western Europe Regional Contests (NWERC).
The winners of the NWERC will qualify to participate in the ICPC.
These contests are organised every year, the DAPC is usually organised in September. All students of the TU Delft can
participate so if you are interested in solving puzzles and writing algorithms feel free to register for one of the
Every year, the ICPC Foundation organises international programming contests for students,
with regional preliminary rounds (in our case North-West Europe). The teams that finally win the contests, will be
qualified to attend the World Finals.
Every university is allowed to submit a few teams to participate in the regional (the NWERC). However, since there are a
lot of students of the TU Delft willing to participate in these events, we organise the DAPC (Delft Algorithm
Programming Contest), where the best teams will be selected to proceed.
The best teams of the various universities then participate in the BAPC (Benelux Algorithm Programming Contest). Every
year, a different university in the region hosts this event, usually a few weeks after the DAPC. The results of the BAPC
will be used to send the best teams of the Benelux to the NWERC (North-West Europe Regional Contest).
The procedure for the preliminary contests is very similar to that of the international contests. Participants are
organised in teams of up to three persons. The contest consists of 8 to 13 algorithmic problems. The goal of your team is
to create a solution for such a problem in the form of a program. Your program will have to read data from an input file
and give back the result as output.
Whenever you believe your program correctly solves the problem, you can submit the program to the jury via the network.
They will test your program and report back to you whether it was correct or not. An incorrect program can then be
improved and resubmitted. The programs will solely be judged on their workings, so we won’t judge you for any dirty
Each team will be provided with a workspace with one computer to implement and test the programs. In addition, you can
take as many books and notes with you as you are able to, but bringing USB drives, calculators, laptops, smartphones and
such is not allowed.
Starting from the BAPC, you are only allowed up to 25 pages of A4
(see Team Contest Reference).
The contest is 5 hours long. This means you have 5 hours to solve as many problems as you can. Your score is based on
how many correct solutions you presented, and each problem has the same weight. It is possible that two or more teams
solve the same number of problems. In that case the time it took you to solve those problems is the deciding factor. For
every correct solution, the time is counted from the start of the contest until the correct solution was handed in. For
an incorrect solution however, 20 minutes is added to this time. If a solution is handed in incorrectly, but does not
get handed in correctly later on, there is no penalty for this incorrect solution. The person who hands in the largest
number of correct solutions and has the lowest time score wins.
The problem set is usually based on known algorithms such as Dijkstra’s shortest path algorithm or backtracking. Often
there is also a number of mathematical assignments. In order to perform well it is important that your team can work
together well and that you are able to divide the work between your team mates. There is only one computer available so
you should plan well and make the most of your computer. Some experience in programming and algorithms is of course very