There are two ways of submitting your code: using the submit form or the submit client.
The Submit Form
If you are logged in, you have a link
Submit to a submit form that you can use to upload
code. The form supports submitting multiple files, to do this you
simply select all the files you want to submit in the file chooser
The Submit Client
Using the submit client requires a bit more setup work, but once
this is done it is much more convenient to use than the submit
Please note that the submit client is provided as-is and we
cannot guarantee that it will work on your system. It is a simple program that
automatically (using a configuration file) logs in to the web page and uses the
Downloading a configuration file and client
Before running the submission client, you need to download a
configuration file. This file should be placed in your home directory,
or in the same directory as submit.py, and be called
.kattisrc. You also need to download the client. To run the
client, you need python installed on your machine.
Running the client
The easiest way to run the client is if you have named your source
code to problemid.suffix, where suffix is something suitable
for the language (e.g., .java for Java, .c for C, .cc or .cpp for
C++, .py for Python, .cs for C#, .go for Go).
Let's assume you're solving the problem Hello World (with problem id "hello") and
that your java solution is in the file Hello.java. Then you can simply
run submit.py with Hello.java as command-line argument, and
the client will make the correct guesses. You will always be prompted
before a submission is sent.
More advanced options
The submit client can handle multiple files in a submission. For such
submissions, the filename and suffix of the first file listed on the
command line is the basis of the guesses. It is ok to list a file multiple
times, e.g. submit.py Hello.java *.java.
In case the client guesses wrong, you can correct it by specifying a
command line option. Running submit.py -h will list all options. The
options as of writing this page are:
- -p <problem_id> - overrides problem guess
- -m <mainclass> - overrides mainclass guess
- -l <language> - overrides language guess
- -f - forces submission (i.e. no prompt)