The 2014 Annual Unnamed UD Internet Contest

The contest is now over!

Thanks for participating. I hope you had fun, learned something, and got more prepared for the ACM competition.

Some important links:


Intro

On October 16th, I'll run the annual (and still bizarrely) Unnamed Internet Programming Contest. This contest will differ from the traditional programming contest, so make sure you read the Rules section.

The idea of an internet contest is that you write solutions using whatever environment is available at your school. You then send the submissions to the judges to have them look at it. Works like a regular programming contest, but you don't have to leave your school.

After the contest is over, all data the judges use, and all judge's solution programs will be made available. If, for some reason, you still have a question about something, you'll be able to email the judges.

Registration

The contest is free. To register, you need to tell me how many teams you have (email: babreech@gmail.com). Note that since this is an internet contest, we don't have to worry about space considerations. Enter as many teams as you want. You can also enter in unofficial teams, such as teams of coaches or other students ineligible for the ACM contest. If you do not yet know how many teams you have, just let me know you're interested. I'm more concerned about knowing you're interested and will be bringing a few teams so I can keep you updated as we get closer to the contest.

On the 16th, at about 7:00pm, have your teams register through the web page (links will be added later). You'll be asked for your school name, team members, and team name. You'll get a response back telling you your team number to use for submissions.

Rules

Since the ACM Mid-Atlantic Regional Programming Contest is coming up soon, we'll follow some modified ACM contest rules.

You may use calculators, books, and program listings. You may also have a web browser up and running. You may do internet searches for whatever information. You may NOT however, talk to anyone not on your team (including any electronic means of communication). In other words, the stuff you get from the 'net has to be static, and must have been posted prior to the start of the contest. You can't use IRC, ICQ, AIM, Twitter, Facebook, chat rooms, mailing lists, or other ways of communicating with random people that I don't know about because I'm not cool enough. You can't talk to your professor/advisor about a problem, nor can you email your friend in Outer Mongolia about something in the contest. The only communication you may have is with the judges. Now, you may be thinking that there is no way for the judges to enforce these rules. Well, you're pretty much right. You're on your honor to follow the rules. The judges reserve the right to disqualify a team if there's proof of rule violation (i.e., something like finding a post on a message board by one of the teams asking how to do one of the problems...)

Teams are 3 (or fewer) students, none of which have completed more than 4 years of schooling. Others (including coaches) may participate in the contest. You'll just be marked as "unofficial."

Decisions of the judges are final. If a mistake is found in the test data during the contest, the judges will do their best to correct the mistake and give credit for correct solutions. Once the contest is over, the final results will be posted.

The languages for the contest are C/C++ and Java.

A submission is exactly one source code file. Only submit source code. If you submit the compiled binary, you'll fail the submission.

C/C++ programs will automatically be compiled with the math library, should you need any of those functions. You may use the STL for C++ solutions. If your program requires another library the submission will fail.

All input comes from standard input. All output should be written to standard output. Do not use file io or any pretty graphical interfaces.

For each submission, a time-score is assigned. The time score is the number of minutes from the start of the contest to when your submission was received. If the judges deem your solution correct, the time score assigned to your solution is added to your overall score. For every incorrect solution on a problem, 20 minutes will be added to your score when you get the right answer. There is no score given for problems you do not get correct (so, if you submit something 20 times, but never get it right, there will be no penalty given to you for those 20 failures). The scoring is the same as the ACM contest (ie, the team with the most problems solved wins. If there's a tie, the team with the least total score wins). All time-scores are assigned based on when the judges receive your submission. Time stamps of when the message was sent will be ignored.

For every submission, the judges will send back a email response. The response will tell you if your submission was correct or incorrect. If incorrect, you'll also see one of the following responses:

  1. Run-time error -- while the program was running, something went wrong (such as a division by 0)
  2. Time limit exceeded -- You have 1 minute for your program to run. If your program takes longer, you get this message.
  3. Wrong Answer -- self explanatory (I hope).
  4. Too little/Too much output -- The judges were expecting a certain amount of output (how much depends on the problem). Your program either spewed a whole bunch more stuff (usually something like debug messages), or it didn't spew enough stuff.
  5. Wrong output format -- this one is rare. Most of the time the judges do not look at spaces in your output. (So, if you stick an extra space in there somewhere, it won't cause a failed submission.) However, there are times when certain problems dictate a very specific output, in terms of spacing. For those problems, your program must follow the specification exactly, otherwise you will get this message.
  6. Compile error -- something went wrong during compilation.
Only one of the messages will be given to you. Note that more than one may apply to your program. You will be given the one most appropriate in the opinion of the judges.

Environment

The contest environment is whatever you use at your school. However, your solutions must run on the judges machine within 1 minute. The judges will be using gcc/g++ (version 4.4.1), to compile C/C++ code, and Sun's SDK (version 1.6) for Java. All compilations are done on a unix box, so I guarentee that any Microsoft-specific code will fail.

Tentative Schedule

Feedback

I'm interested in hearing feedback about the contest. I'm running this primarily as an experiment to see if this type of a contest is useful or not.

I am aware that using email may not be the best solution for submissions. There are a few disadvantages in using it (and also in using the time the judges receive the message as the basis for the time score), but it was the solution with the least amount of extra headaches.


Other links:


Ben Breech
breech@cis.udel.edu