Frequently Asked Questions
About competing, being a contest location, sponsoring the contest, and more.
Registering
Team registration is handled by the ICPC website.
Step 0: You all need to have an ICPC account. If you dont have one, go to the ICPC website and press sign up!.
Step 1: Decide who in the team will be the team captain. This person should press the 'Take Part' button at the top to get to the contest registration page.
Step 2: If registration is open, pick a location to take part at, and begin a team registration.
Step 3: Fill in all the details you can, including team name and university. NOTE: If your university is not available from the dropdown list, you need to contact the ICPC to get it added.
Step 4: Make sure all people in the team are have fully completed their registration, and wait for your team to be 'Accepted' by the host at that location.
You'll be able to check on the status of your registration by signing into the ICPC website again, and looking at your dashboard.
Taking Part (on the day)
The problem set consists of a number of problems (usually 8-12). The problem set will be in English, and given to the participating teams when the contest begins. For each of these problems, you are to write a program in C, C++ or Java that reads from standard input (stdin) and writes to standard output (stdout), unless otherwise stated. This year, the contest will most likely also allow python, but this may not be supported at the next stage at NWERC. After you have written a solution, you may submit it using the specified submission system.
The team that solves the most problems correctly wins. If two teams solve the same number of problems, the one with the lowest total time wins. If two top teams end up with the same number of problems solved and the same total time, then the team with the lowest time on a single problem is ranked higher. If two teams solve the same number of problems, with the same total time, and the same time on all problems, it is a draw. The time for a given problem is the time from the beginning of the contest to the time when the first correct solution was submitted, plus 20 minutes for each incorrect submission of that problem. The total time is the sum of the times for all solved problems, meaning you will not get extra time for a problem you never submit a correct solution to.
If you feel that problem definition is ambiguous, you may submit a clarification request via the submission system. If the judges think there is no ambiguity, you will get a short answer stating this. Otherwise, the judges will write a clarification, that will be sent to all teams at all sites in the contest.
- Any written material (Books, manuals, handwritten notes, printed notes, etc).
- Pens, pencils, blank paper, stapler and other useful non-electronic office equipment.
- NO material in electronic form (CDs, USB pen and so on).
- NO electronic devices (Cellular phone, tablets, and so on).
- What you brought to the contest floor (see above).
- Your assigned (single) computer.
- The specified system for submitting solutions.
- Printers designated by the organiser.
- Things given to you by the contest organiser.
- Electronic content specified by the organiser, such as language APIs and compiler manuals.
- Compilers and IDEs specified by the organiser.
- Non-programmable tools which are a natural part of the working environment (such as diff and less).
- NO other compilers or interpreters for programming languages.
Before the contest begins, you are allowed to log in on your assigned computer, and log in on the submission system. You may do nothing else with the computer (such as starting to write code). You may not touch the problem set before the contest has started.
Contestants are only allowed to communicate with members of their own team, and the organisers of the contest. You may not surf the web (except for allowed content), read e-mail, chat on MSN, or similar things. The only network traffic you may generate is from submitting problem solutions, and access to content specified by the local organisers.
Prizes vary from site to site, where some sites gain local sponsorship for example.
Food also vary from site to site, where many sites provide food after the contest. Food arrangements, however, are up to the local hosts. Please contact them to find out more.
UKIEPC 2024 used:
- Python 3.9.18 (PyPy 7.3.15, with GCC 13.2.0)
- Java 21 (javac 21.0.4)
- C++20 (Ubuntu g++ 13.2.0)
- C17 (Ubuntu gcc 13.2.0)
There are many servers which provide support for practicing.
- Kattis has an open practice server.
- Our recent contest problems are on Code Forces in the Gyms
- ICPC have a live archive.
- The UVA Online Judge is also available.
A key first learning step is practicing how to submit problems. This involves reading in input data from the std-in, and printing the outputs to the std-out. Without this, you cant even submit an answer!
No! We've had various questions about use of chatGPT, or an offline local equivalent. Also excluded is co-pilot or any similar code recommending plugins for IDEs.
Plain old auto-complete that recognises functions in the code, and you can press e.g. tab to complete them is fine.
If computers provided for the competition at your site do not have local compilers and IDEs etc, then it is fine to use a generic online non-intelligent IDE/compiler, as long as you have told your local organiser which one, and they can confirmed. Web usage would be restricted to this pre-agreed site, along with the online contest server.
Becoming a Contest Location
Being a host is very simple - all you need is:
- A lab available at the weekend, with computers that have compilers on them
- Access to the web to submit problems through a browser
- A responsible member of staff (including postdocs, but not phd students) to supervise the contest at your university.
Contact us if you would like to become a host!
There are some locations where you can take part in, if you are willing to travel. Check this year's contest locations to see more.
If you want to encourage your university to become a location, you need to start talking to people at your department. We recommend approaching someone that is enthusiastic and supporting of student events and activities. This is sometimes a member of staff that works with e.g. societies or runs student events. Sometimes it's best to approach (or get your society to approach) the head of school or head of teaching, to tell them that you think your university should take part. Sometimes its easier just to go straight to your CompSoc society to see if they know who is best. Once you find a member of staff (academic or postdoc, but not phd student) that is willing to be there in person on the day, it is extremely easy for them to make your university a host.
Sponsoring the Contest
The UKIEPC is a contest that attracts the UK & Ireland's top Computer Science students that are particularly skilled at data structures and algorithms. The students that do best at this contest progress to the North West European regional contest (NWERC), and the best of those compete in the ICPC world finals.
This contest is a great way to reach them. The decision to make is how best to reach them.
The contest is distributed at 20+ locations across the UK and Ireland, and so it's hard to meet all the contestants face to face (doing this is possible at NWERC and World Finals, which are each held in a single location). You have two main options:
- Sponsor the whole contest, in a virtual way.
- Sponsor a specific location in person (we have sites of different sizes)
You can contact the current contest director as a good starting point. Or alternatively, you can approach a site host directly if you want to sponsor a particular location.
General Information
The UKIEPC is the UK & Ireland Subregional Contest for NWERC (the Northwestern Europe European Regional Contest), of the International Collegiate Programming Contest (ICPC). The UKIEPC is a practice competition, held annually (starting in 2013) to help universities pick teams to travel to NWERC. The contest does not automatically determine which teams may progress to NWERC, but universities may pitch their teams against other universities around UK and Ireland, to help decide who should be sent. NWERC typically accepts up to 2 teams from each university.
The event itself is organised in a distributed manner. It is physically hosted at several universities around the UK and Ireland. The same problem set is used at all sites. The scores are gathered electronically, and the results can be viewed against other local teams, and teams across the UK and Ireland.
The contest is suitable for programmers of almost all skill levels, from beginner to expert, as the problem set always has both very easy and very difficult problems. There are also separate score tables for the local sites. This means you can choose on which level you want to compare yourself.
All the UKIEPC locations belong to the Northwestern European region in the ICPC system. The Northwestern Europe Programming Contest (NWERC) is usually held in the middle of November.
The rules for the UKIEPC are generally the same as for the ICPC regional contests, with more emphasis on trust and responsibility at each site.
The International Collegiate Programming Contest (ICPC) is a world-wide contest for students and professionals, with local and regional events, and a world final. The contest is about programming skills, problem solving and teamwork. In short terms, teams of up to three students try to solve as many programming problems as possible from a given problem set, using only one computer. Typically you may use C, C++ or Java, but sometimes additional languages are supported, depending on the local organiser at each level.
The ICPC has grown to become very large. Thousands of teams from thousands universities world wide compete in the regional contests which lead up to the World Finals. Less than a hundred team get to go there, but many teams from UK and Ireland have been there the last years.