CodeCup 2017 - An online programming competition  

CodeCup 2017 - An online programming competition

Frequently Asked Questions

Here, you will find answers to some questions we received by email. We will regularly update this page with new information. If you have a question that is not answered here, please mail to contest(at)codecup.nl.

Index
1. What happens if my program exceeds the time limit ?
2. Is the time limit with respect to CPU time or real elapsed time ?
3. Can my program continue its calculations during the opponent's turn ?
4. Can my program do some calculations before the game starts ?
5. Can my program find out how much time it has left for the rest of the game ?
6. Is there a limit for the size of my program source ?
7. How long does it take to verify a new submission ?
8. Can I create an extra account to play with multiple programs in the same contest ? (NO!)

Answers

Q: What happens if my program exceeds the time limit ?
A: The game will be aborted. Your program will lose this game, the other program wins. Additionally, the aborted game counts as an 'irregular loss'. The total number of irregular losses is used to rank programs that have the same number of normal contest points; the program with less irregular losses has a better rank.

Q: Is the time limit with respect to CPU time or real elapsed time ?
A: The time limit is with respect to the real time spent by your program to select a move (the wall clock time). We don't specifically look at the time spent on actual CPU calculations.

Q: Can my program continue its calculations during the opponent's turn ?
A: No, it is not possible to continue your calculations in the turn of your opponent (thinking in the time of your opponent). While your opponent is thinking, your program is temporarily suspended.

Q: Can my program do some calculations before the game starts ?
A: No, it is not possible to do calculations before the game starts. Your program is started in a suspended state. The first time that it will be activated, there will input available to your program. The time between offering input and receiving output to or from your program is measured. Your program wil either be started immediately when it is first to make a move, or it will remain suspended whilst your opponent calculates its first move. In both cases the game is always started when your program is active.

Q: Can my program find out how much time it has left for the rest of the game ?
A: Yes, but this is a little tricky. We don't really recommend this, unless you feel sure that you need it to improve your program. It is possible to make very strong player programs without using all available time to the last bit.

If you really want your program to do time measurements, you can use the following trick. Read the system clock just after reading the input, and again just before writing your output. The difference between these clock values is the amount of time you used for your move. Note that you will find a slightly lower time than the CodeCup system, because reading and writing the moves also takes some time. You will have to compensate for this by adding a little extra time. Make sure that you read the clock after reading your opponent's move (to avoid including your opponent's time) and again before writing your own move (otherwise the CodeCup system may suspend your program before you get a chance to read the clock). To read the system clock, you can use the GetTime function in Pascal, the gettimeofday function in C, or the Date.getTime function in Java.

Q: Is there a limit for the size of my program source ?
A: Yes. Your program source file must not be larger than 1,474,560 bytes (the size of a floppy disk).

Q: How long does it take to verify a new submission ?
A: After submitting a new program to the system, you will usually see a verification result within 10 minutes. It may take longer if the system is very busy.

Q: Can I create an extra account to play with multiple programs in the same contest ?
A: No! It is definitely not allowed to have more than one version of your program in the contest at the same time. It is (of course) allowed to submit new versions of your program at any time, since such new versions will automatically replace your previous submission.
In general, it is never allowed (or necessary) for one physical person to create multiple CodeCup accounts. Please contact us (contest(at)codecup.nl) if you think that a new account is necessary.