This distribution consists of a number of programming contest problem
sets and some Unix software designed to allow practice sessions based
on the problem sets to be held.  The distribution has been put
together by Paul Ashton (paul@cosc.canterbury.ac.nz).  I would be
happy to receive any corrections, additions, etc to things in this
distribution, as well as new problem sets, preferably in the form
described below.

Installation
============

See doc/installation.

Documentation
=============

All of the following are in the doc directory.

judging - describes how to use the software provided to run a practice
          session using one of the problem sets supplied.

more.prob.sets - details of other sources of problem sets.

rules.{ps,tex} - an example set of rules, as used in New Zealand and
South Pacific contests.

notes.{ps,tex} - notes for teams attempting a problem set.

messages.{ps,tex} - a list of the judging error messages that can be
                    issued (see doc/judging for more info).

pascal.{ps,tex} - a description of the Pascal library that is provided
                  as part of this distribution.  The library is provided
	          to give Sun Pascal some of the Turbo Pascal library
		  functions (Turbo Pascal has been used in all of the NZ
	 	  and South Pacific contests whose problem sets are part
	  	  of this collection distribution).

Problem Sets
============

The problem sets have been drawn from three contests: New Zealand
contests (NZ.89, NZ.90, NZ.91), South Pacific contests (SP.91) and
internet contests (IN.90, IN.91).  Chris Handley
(chandley@otago.ac.nz) created the NZ.90, NZ.91 and SP.91 problem sets
(and perhaps also the NZ.89) - many thanks to Chris for the material
from these contests that he has made available to me.  The Internet
problem sets were created by Vick Khera at Duke (khera@cs.duke.edu)
and many others no doubt.

The problem sets have in some cases been modified a little from
their original form.  Most of the NZ and SP problem sets originally had
input for each program coming from some file (such as PROBLEMA.DAT).
This has been changed so that now for all problem sets input is read
from standard input (teams should now about file manipulation, however,
as they will probably need to perform file access in a contest situation).
Also, in some cases the specification of the output format has been 
tightened so as to make judging based on diff(1) possible.  Finally,
some of the judging programs have had bugs fixed, and some of the
judging input has been augmented (or invented if the original wasn't
available to me).

The problem sets are set out in a standard way.  Each problem directory
(such as NZ.89) contains the following things:

1. A "README" file giving background information on the contest, and details
of any unusual aspects of the problem set.

2. A "results" file containing details of the results of the contest
when it was originally held (I don't have this for all contests).

3. LaTeX and postscript files containing the problem sets.  In most cases,
each problem set involved only a single set of problems, and the two
files are "problems.tex" and "problems.ps".  In some of the NZ contests
the competition was run in two divisions.  In these cases the division I
problem set is in "atoh.tex" and "atoh.ps" and the division II problem
set is in "stoz.tex" and "stoz.ps".  Most figures are stored outside
the .tex files in .fig files.  A .fig file can be converted to a .eepic
file (the format included in the .tex file) with the command:

fig2dev -L eepic <proba.fig >proba.eepic

The postscript files include all figures.

4. Solutions to all problems in the "src" directory.

5. Judging input in the "input" directory.

6. Judging output in the "answers" directory.

7. Judging programs (if needed) in the "check" directory.

8. Solutions from practice runs in the "subs" directory.


Sources
=======

Sources for submission and judging programs, and for the Pascal
library, are in "src".  See doc/judging for information on their use.
