1999 Programming Contest Rules and Information ---------------- Contest Specifics ---------------- 1.Each team will use ONE computer --- other computers in the labs must stay powered down. No computer equipment may be brought into the contest area. 2.Teams are allowed to bring a reasonable number of computer books and/or notebooks into the contest area for use during the contest. Teams are NOT ALLOWED to bring a disk, software, or machine-readable software into the contest area. 3.Teams will not have their own printer. A network printer will be accessible. 4.No food or drink in the labs. There will be lunch before the contest, and refreshments supplied afterwords. 5.Any questions to the judges should be submitted in writing using the clarification forms provided. Fill out the form and give it to a runner. Each question will be acknowledged, although the judges may refuse to answer any question. The question and its answer may be provided to all contestants if it seems relevant. 6.The only discussion permitted is within a team and with the contest staff. 7.You may work on the problems in any order, and submit them in any order. 8.Your programs must not do any file input or output. All contest input will come from stdin -- that is, the keyboard, and all output must go to stdout -- that is, to the console. 9.The C++ documentation is available on-line through the Microsoft Visual C++ help system. 10.Your programs should not utilize any special Microsoft Visual C++ language features or templates. These are not needed, and their use may result in your submission being judged incorrect. 11.You are allowed to use APCS classes and templates. You are not allowed to make any modifications to the APCS files. You can use the APCS classes by adding the appropriate #include directives. 12.You need consider the efficiency of your algorithms to make sure it will take less than two minutes running time. For some of the problems there exist solutions that might work, but are so inefficient that they will not finish in the allowed time. 13.To receive credit for a problem solution, you must turn it in for judging, using the command described below. The response will be one of the following: Correct Incorrect Output Incorrect Output Format Incomplete Output Failed Test Case Compiler Error Run-time Error Run Time Limit Exceeded (2 minutes on the judges machines -- this should not be an issue unless you've coded an inefficient solution) 14.After submitting a judged run, you may resubmit the same problem before getting a reply from the judges, but this will invalidate the previous submission, which will then be counted as an incorrect submission. 15.The judges' decision is FINAL. ---------------- Scoring ---------------- The team that has had the most problems judged correct at the end of the contest will be declared the winner. If more than one team has solved the same number of problems, the winner is the one with the fewest penalty points. Penalty points are assessed for solved problems only. Each problem accumulates one penalty point for each minute from the beginning of the contest until the time of a correct submission. Twenty penalty points are assessed for each incorrect submission. The contest director reserves the right to adjust penalty points to allow for unforeseen circumstances. ---------------- Web Interface ---------------- You will be using a web-based interface to submit your problem solutions, check solution status and scores. To access the interface, bring up Netscape Navigator. home The ``home" button should bring you to the UMCP programming contest web interface. contestant You need to click on the appropriate link to log in as a contestant. Your team name and password will be supplied as part of your documentation. submit To submit a solution, click on the ``Submit'' hyperlink in the top left corner of the interface. Now select the problem number from the ``Submit Problem:" box. Then enter the name of your C++ program file (prob.cpp) in the ``Program Source Code" box. You may also hit the ``Browse" button to find your program. When you are ready, click on the ``Submit Program" button. It then sends your file over the network to the judges. status To get status of your submissions, click on the ``Status'' hyperlink in the top left corner of the interface. This program will show the status of all problems you've submitted to the judges. But please be patient! You may use the ``Reload" button to update the results. Responses to your submissions may contain comments. You can see judges comments by clicking on the ``Message Waiting!" hyperlink scores To see the current scores of all the teams, click on the ``Scores'' hyperlink in the top left corner of the interface. This will show the current scores of all the teams. The ScoreBoard will be updated every few minutes. The scores hyperlink will be disabled during the last 45 minutes of the contest. ---------------- Contest Commands ---------------- msdev The Visual C++ programming environment. You should do all your editing and testing within this environment. We have set up a number of project folders for you in c:\contest\code. You should only need to modify the `prob.cpp' file in each project directory. To enter the Visual C++ environment, double click on the `prob.dsw' file in each folder. You can compile and execute your program using options from the "Build" menu. try The contest test program. Try takes the problem number and the file name of your C++ source code as parameters. It then compiles your program and runs it on the test data that was given with the problem. This lets you try your program before submitting it for judging. For example: ``try 1 prob1.cpp" This command will create a 'trydir' directory, copy in files as needed, compile the contents of your file `prob1.cpp', then test it with sample data from the problem description. Remember the test data we supply using 'try' is a subset of the actual test data we will use to judge the problem (i.e. just because a program passes try doesn't mean it will be judged correct when submitted).