Contest Environment Instructions: 1 Programming Tasks
Contest Environment Instructions: 1 Programming Tasks
Programming tasks
Programming tasks require you to submit one or more source code les in your preferred language among those available for the competition (C, C++ and Pascal). If one tasks requires you to submit two or more source code les, they should all be written in the same language. For programming tasks, you can nd at least the following les in the task director. Template source les. For each le that you have to submit, you nd a template written in each competition language. Of course, these templates do not implement a correct solution and thus submitting them do not earn you any point in general. However, you are encouraged to write your solution by modifying the template les, so to be sure to correctly implement the interface required by the task. Compilation script. For each language, you nd a script that compiles your program (or programs) using the ocial compilation command. You can tweak this script to change the ags passed to the compiler (for example, to enable debugging symbols). Graders, headers, . . . These les are used by the compilation scripts to produce a fully working program from your source code. They are provided to you for testing your solution, but they may be dierent from those actually used in the grading system: your solution should be conforming to the interface specied in the task description, without relying on tricks or shortcomings possibly contained in these les.
1.1
Usage
In order to work on a programming task, you should edit the relevant les with your favorite editing program and implement the required routines, as indicated in the implementation details part of the task statement. To compile a program, you can run the script compile c.sh, compile cpp.sh or compile pas.sh or, when applicable, congure your IDE (Integrated Development Environment) to perform a similar operation. If the compilation terminates correctly, one or more executable les will be generated: you can run them, feeding them with a test case on the standard input and collecting their answer on the standard output. The implementation details section for each task will document the format to use for input and output. Some programming tasks may deviate from these procedures because of their peculiar structure: the implementation details section will contain all due explanation.
1.2
Caveats
File access. Under no condition your submitted code should try to access le streams, like the standard input/output, or other les. These actions will probably interfere with the grading process, possibly leading a correct solution to be considered incorrect. They are banned anyway, and leaving these commands in your source code is interpreted as an attack towards the system and used as evidence for disqualication. Beside that, writing on the standard error in your code could signicantly disrupt the performance of your submitted solution. You are advised to check you submissions and get rid of debugging instructions before posting them to the system. Input/output buering. Since each system call invoked by a solution during evaluation causes a slight time overhead in the execution of the program, the grading programs are instructed to use a comparatively large buer for reading input les and writing output les. Contestants should not further modify these settings. Time and memory limits are already tuned to take into consideration the overhead introduced by processing input/output les.
Output-only tasks
Output-only tasks will require you to submit, instead of a program source code, the output les originated by processing some input les according to the rules prescribed in the task statement. The task directory will contain a copy of the input les, for which you are expected to produce the output les to be submitted via the Web interface. You can work on them using any of the tools available in the contest environment. Some output-only tasks may deviate from these procedures because of their peculiar structure: the implementation details section will contain all due explanation.