International Students Software Competition

SEARCC'99, December 1999

(modified from SEARCC Competition Rules for 1998 and NOI'99 (Singapore) Rules)
by Leong Hon Wai, School of Computing, National University of Singapore

  Note to all SEARCC country chaperons:
Important Dates for ISSC at the end of this document. Please look through these Draft Competition Rules and email me your feedback and suggestions. We hope to finalize these rules and have them formally approved as "The Standard SEARCC ISSC Rules" at the next SEARCC Exco meeting in September.


Team Eligibility

  • Each country will be allowed to send a maximum of two teams with one chaperone. Each team may consist of up to three school students. Registration must be done through the respective country's computer society. In case of a need to limit the total number of teams participating, only the first team of each country will be selected. The second team will be selected on a first come first served basis.
  • Students must be under seventeen (17) years of age on 1st January 1999 (that is, born on or after 1st January 1982).
  Competition and Problems  
  • The competition will be two hours in duration consisting of programming solutions to four (4) problems.
  • Problems will be in English. All problems are programming problems aimed at testing the problem solving ability of the contestants. The focus is on designing correct and fast algorithms.
  • For each problem, the "Problem Overview Page" gives the required details for the problem -- namely, the problem name, the directory name, input and output filenames, the execution time limit that applies to each test run of the problem.
  Programming Languages  
  • The programming languages allowed are QuickBasic, Pascal, and C/C++. A team can choose to solve a given problem in any of the languages offered. However, to enable objective and fair judging, you must compile your programs as stand-alone MS-DOS executables for submission.
  Workstation, Resources, and Questions  
  • ·A team's workstation will consist of a Pentium PC, running MS-DOS with floppy and hard disk drives, each with a standard US keyboard, mouse, and colour monitor.
  • All workstations will be configured identically with the following software: MS-DOS V6.22, Quick Basic V4.5, Turbo Pascal V7.0, Borland C++ V3.0. All packages will be fully installed with online help files.
  • Five diskettes will be provided for each team. The team is expected to compile and save the MS-DOS executables of the four solutions on a separate diskette for submission and maintain backup copies on the other diskette. The teams are responsible for maintaining proper backup copies of their solutions.
  • Teams should use only the resources of the workstation and the standard software and diskettes supplied. Additional help or other resources are not permitted.
  • Printouts of teams' program listings will be available during the competition from printers provided in the printing area.
  • Challenges or appeals regarding the statement or solution of problems, configuration or operation of workstations, or any other matters, must be presented prior to the scheduled expiration of time.
  • During the competition, teams may ask for clarification of problem descriptions (and are encouraged to do so) only from the official judges.
  • Judges responding to questions will not compromise any part of the solution or clarify beyond the written description without providing that same information to all teams as close to simultaneously as possible.
  Your Programs  
  • While you may choose to write your programs in any of the programming languages offered, to enable objective judging you must compile your programs as stand-alone MS-DOS executables.
  • The programming tasks can all be solved in any of the programming languages offered. The input and output operations will be kept simple, allowing you to concentrate on the problem solving aspects. No special features of the programming packages are needed, nor should they be used. In particular, the following features will NOT play a role in the programming tasks and are strongly discouraged:
    • Graphical output, mouse input, advanced file manipulation, advanced numeric processing and DOS calls.
  • You should be familiar with the programming package of your choice, including the use of libraries or units. Your ability to use the Integrated Development Environment (IDE), in particular, the built-in editor, compiler and the debugger, will be helpful. Some knowledge of compiler options may also be an advantage. Furthermore, you should be able to use MS-DOS for such tasks as executing a program, changing the working directory and managing files.
  Input and Output Data  
  • Programs should read their input data from ASCII text files. This is the case even if the program needs only a single value.
  • The names of the input files are given in the task description. The names of the input and output files must be spelt precisely as given; no variation will be allowed. Programs must NOT read from the keyboard.
  • You may assume that the input data agrees with the task description, and the data sets used in the evaluation do not contain errors.
  • Input data consists of a sequence of items. An item is either an integer or a non-empty character string of letters ('a' to 'z' and 'A' to 'Z') and/or ('0' to '&'). Items are separated by either a single space character or a single end-of-line.
  • In general the structure of the input is such that you do not have to worry about end-of-line and end-of-file conditions. There may, however, be exceptions to this. In any case, the task description will indicate so if an exception exists.
  • Examples of input files are provided for all tasks, both in the task description and the task directory. However, successful execution of your program with these examples does not necessarily guarantee that your program is correct.
  • Programs should write their output data to the ASCII text file specified in the task description. Programs are NOT required to write to the screen, and such output will NOT be evaluated. You are encouraged to remove all screen output from your programs before you create the final executable.
  • Output data consists of a sequence of items. An item is either an integer or a non-empty character string of letters('a' to 'z' and 'A' to 'Z') and/or ('0' to '9'). Items are separated by either a single space character or a single end-of-line.
  • The output should be formatted exactly as shown in the task description. Never add output of your own, as this may disrupt the evaluation process.
  Submission of Solutions  
  • Diskettes submitted to the judging station must be labeled with the country, team and problem.
  • Diskettes submitted for judging must be accompanied by a completed program submission sheet for the problem (to be designed later). The submission sheet logs the submission time and provides feedback if the solution is incorrect.
  • Submission sheets are retained by the judges when a problem is solved correctly and the team will be notified that their submission has been successful. When the competition is over, all remaining submission sheets must be handed in to the judging station.
  • Teams must adhere to specific as given in the Problem Overview Page instructions (to be designed later) regarding:
    • filename of your submitted MS-DOS executable program on the diskettes;
    • name of the output files produced by your program; and
    • execution time limit that applies to each test run for the problem.
  • Team members (and any other unauthorised personnel) are not allowed in the judging area.
  • For each problem, a set of several confidential judging data will be used during the judging.
  • Solutions must execute correctly on each judging data on the judges' workstation within the specified execution time limt. Problems and judging data will be constructed so that a reasonable solution will meet this requirement using the judging data.
  • For a solution to be judged as correct, it must produce the correct results as prescribed in the problem description when a set of judging data is processed by the judging software. In addition, the results must be stored in the proper output file according to the specifications in the problem description. Final results are evaluated by the scoring system described in the next section.
  • Feedback for a bad run / submission will be given with one or more of the following comments on the Program Submission Sheet:
    • Too Much Time
    • No Output
    • Test Data Failed
    • Error Occurred
    • Bad Output Form
    • Improper Submission
  Scores and Placings

A team's scores will be the sum of points awarded for the work on four problems:

a) 100 points will be awarded for each solution deemed correct. No points are given for solutions that are incomplete or inaccurate.
b) Teams will be awarded a bonus of 1 point for each five minute period, or part of such period remaining when the solution is submitted to judges, (i.e. a problem submitted within the first five minutes and judged as correct earns a maximum time bonus of 24 points; a problem submitted in the last five minutes judged as correct earns 1 point).
c) Each submission that is judged incorrect for any reason will incur a penalty of 10 points (i.e. minus 10 points) regardless of whether the problem is eventually solved.
d) The placing of the teams is determined by the scores obtained. Should there be any tie in the scores, the placing of the teams is determined by applying each of the following criteria in sequence: (i) the number of problems solved; and (ii) the time when the last correct solution was submitted.
e) The judges' decision will be the final decision.

  Some ISSC Dates and Figures for SEARCC'99

ISSC Competition:
Max Number of Teams:
Tentative Venue:
Early Registration Date:
3rd December 1999 (Friday)
20 teams
School of Computing, National University of Singapore
15 September 1999 -- through country's computer society
15 October 1999 -- through country's computer society
For the latest on ISC99, please check at