Macalester ACM Local Programming Contest

Saturday, October 19, 2013


Olin-Rice MSCS Lab (which one TBA)

Quick info:

The contest will be held from 1:00pm to 5:00pm, in the either OLRI 256 or OLRI 258. Snacks and drinks will be provided. Teams of three students (or less, if you like) will attempt to solve 5-7 programming problems. Participants should arrive at 12:45pm to get instructions. The official languages for this contest are C, C++, or Java, but students are welcome to participate using any language they like, provided it is available on the lab machines. The team which solves the most problems will win (see details of scoring below). The top teams using C, C++, or Java will continue on to the Regional Programming Contest in November.

To Sign Up:

If you want to sign up and haven't yet, fill out the Google form at the URL below.

Local Contest Registration Form

Preparing for the contest:

The contest typically requires that you read input from standard input and write output to standard output. Make sure that you know how to do that; ask for help ahead of time. Your programs will not be designed to interact nicely with a user; we typically redirect a data file to standard input for your program. Therefore, your programs should be designed to read information from standard input without printing prompts for a user.

Take a look at the ACM's contest web site for information about the regional and international contests, on which our local contest is modeled. There are links to online collections of problems to practice with, and perhaps good advice for contest strategies.

Here is a Word document that contains copies of last year's regional programming contest questions.

Procedures on the day of the contest:

Plan on arriving at 12:45pm, as we will be giving out instructions. The contest will begin promptly at 1:00pm whether you are here or not.

You may bring with you any paper resources you like: books, notes, printouts of programs. You may not access the Internet during the contest, nor may you bring or access any electronic media, CDs, flash drives, digital music players, etc..

You will be given one paper copy of the contest problems when the contest begins; you are on your honor to use no electronic resources, including code you may have written or files that may exist in your account.

We will use the PC^2 contest software for running the contest. You'll receive more information on the contest day. You submit the source code using this software, and you receive your responses from us similarly.

Snacks will be available in the Math/CS Reading Room throughout the contest.

During the contest we will post clarifications of the problems and the current standings on the board in the lab.

Contest Rules:

Each team of three gets one copy of the contest problems, and one computer on which to work.

You may use whatever standard libraries your language provides. That does not mean proprietary additions to the standard ones! But anything reasonably standard will be okay.

All input to your programs should be from standard input. All output should be to standard output. Your program should print no prompts to get input, we will be testing it by sending a file to your program's standard input port. For your testing, it may be easiest to put the input data in a file, and either redirect it to your program's standard input, or use the PC^2 software to test your program, which can do the redirection for you. We will provide assistance in doing this, if required.

When a team has a solution to one of the problems, it submits the solution through PC^2. The judges run the program on their set of test data and either accept or reject the solution.

If the solution is rejected, you will receive a responds that describes the problem: like "wrong answer," "program ran too long," "presentation error."

If the solution is accepted, then the time of submission is recorded as a number of minutes from the start of the contest. For every incorrect submission preceding a correct submission, we add a twenty minute penalty to the time. For example, if Team Tiger submitted an incorrect problem 3 at 2:15, then a correct one at 3:00, the time listed for problem 3 would be 120+20 = 140 minutes. If, on the other hand, Team Tiger never submitted a correct version of problem 3, they would receive no penalty points for the incorrect submissions.

The team which solves the most problems is the winner. If more than one team solves the same number of problems then they are ordered by the total of the times recorded for each successful submission, with the smallest total time winning.