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. PC^2 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 | |
PC^2 | pc2 | PC^2 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 ACM 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 ACM 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 colours by choosing Settings -> Schema -> Linux Colors. After that, choosing Settings -> Save Settings will ensure that every subsequent Konsole window has the same colour 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 use PC^2 to submit your solutions for judging. To do a submission, you must tell PC^2 which problem you are attempting to solve, the programming language you are using, and then you must select the source code file. NOTE: All programs must be a single source file (no separate units). Refer to the PC^2 Instructions for more information. Be sure to practice this BEFORE the contest starts.
You will be notified via PC^2 when your submission is judged. You can also use PC^2 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. PC^2 has a Test button. This is in the same window as the Submit button. When you use Test you run the exact same script we do to judge with the following exceptions: we copy our own input file in, and we compare your output to the expected output. If your program compiles and runs on your system, it will on the judge's system. Of course our data file may be more extensive than yours.
NOTE: In order to test your program, you MUST have a file called input.txt in the SAME directory as your source file. Any other name will cause the test to fail. Testing your program insures that your program will compile, read from the input file, and write to the output file.
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 PC^2.
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!