Contest Hints
Welcome to the contest. This page has been written in an attempt to make things easier for you. These are not rules, just the same advice that I provide my teams as a coach.
Advice
- Don't allow a question of unethical behavior to occur.
- Read all of the rules. Make sure you understand them.
- Don't miss the rules presentation.
- Be courteous to everyone -- it might help.
- Take advantage of both the practice time and the practice contest.
- ALWAYS do a successful test run of your program with all known test data before submitting.
- Ask before it's too late.
- Print when you need to (like when you switch from one person to another).
- Expect delays when printing (at least five minutes).
- Expect delays when submitting solutions.
- Make subdirectories for each problem
- Keep a separate copy of your code each time you submit. Never edit source of a file after it has been submitted. Copy it and work on the copy.
- Waste the time to put a comment at the top of your source identifying your team number, team name, and school. (This makes sure your printout gets to YOU.)
Clarifications
Remember that you can use clarifications to submit questions about both the contest and the problems. Understand the judges' perspective -- clarifications mean that the problem has a mistake, is incomplete, or is incorrect. The Kattis web interface provides a complete clarification system. To use it, choose the problem and then type in the question.
Computer Use
The systems provide almost all of the basic GNU / Open Source software you would expect. We believe the software you will use most is as follows:
Application Type | Command | Comments |
---|---|---|
Terminals | konsole | KDE Konsole |
xterm | Standard X Terminal | |
Kattis | Kattis | Kattis Client |
Editors | vim or gvim | Vi IMproved |
xemacs | XEMACS | |
emacs | Standard EMACS | |
gedit | GNOME Editor | |
kedit | KDE Editor | |
nano | Free PICO-like editor | |
Plain Compilers | gcc or g++ | Standard GNU C / C++ compiler |
IDE Compilers | eclipse | IBM's Eclipse |
Browsers | firefox | Mozilla Firefox |
kfmclient openProfile web browsing | KDE's Konquerer | |
Miscellaneous | kcalc | KDE's Calculator |
acroread | Adobe Acrobat Reader |
All of the software listed above will be available under each window manager (see below) in a menu called SCUSA Tools. Other software is available on the systems and you are free to use anything you find there.
To login to the systems use the login ID team with no password. By default, you will be at a console prompt. We have provided three different window managers: GNOME, KDE, and Fluxbox. Use whichever you are most comfortable with. To invoke any of the three window managers and start an X-Windows session, type gnome, or kde, or flux. If you simply type startx the default window manager is Fluxbox.
KDE
KDE is the standard programmers' window manager. All applications are available by clicking on the KDE logo in the lower left corner of the screen. As mentioned above, most of the software we believe you will need is available under the menu SCUSA Tools. You are free to use any other software you find in the menus.
Konsole
If you are using Konsole, but prefer black backgrounds, you can set the colors by choosing Settings -> Schema -> Linux Colors. After that, choosing Settings -> Save Settings will ensure that every subsequent Konsole window has the same color settings.
vim
A basic default configuration for vim has been provided. However, this can be further tweaked to your liking by editing .vimrc in your home directory. The following additional commands may be useful:
- set background=dark -- Makes the colours high-contrast for easier reading on black backgrounds.
- colors elflord -- Sets the colour scheme to a nice, bright, easy-to-read configuration.
- set et -- Turns on expand-tab, which converts tabs to spaces.
- set shiftwidth=3 -- Sets the amount that autoindenting and tabbing 'jump.'
Solution Design
Your programs should be written so that they read from standard input (<stdin>) and write to standard output (<stdout>). We will run your programs by using I/O redirection (with the < and > operators). Here is an example run of a compiled program:
./p1.exe < input.txt > output.txtSubmitting Solutions
You will be submitting your code for judgement via Kattis contest control system. You will use a web browser to do this. On the submission form, you will need to select the problem number, the language to use for your submission and the single source file of your submission.
NOTE: All programs must be a single source file (no separate units).
NOTE: When using a web forms some fields are remembered from the past. Always check the path/filename of the source file you are submitting. We can only judge what you submit.
You will be notified via Kattis web interface when your submission is judged. You can also use Kattis web interface to check the current status of all submissions.
Test Runs
PLEASE do test runs. Test your solutions before submitting them to us. Your solutions should at least compile and process the sample input data provided in the problem sets.
Resources
Your team of three students will have five hours (unless altered by unforseen events) to complete eight to ten problems (anticipated). The only computational device you are to use is the assigned computer system. Books, notes, and printouts are welcome. If you have not already done so, use the practice times to familiarize yourself with the computers, the operating environment, the compilers and Kattis.
Last Words
Friday night is for practicing, understanding the rules, getting comfortable with the computing environment and relaxing. The Saturday morning practice is for verifying that the system you will use works, verifying that you can edit, compile, link, and submit solutions correctly.
Ask questions while you can. Once the contest starts Saturday it will be too late.
One final thing - Do NOT do anything that might be perceived as cheating.
Good luck!