Programming Contest Rules

The 2016 Hawkeye Challenge Programming Competition will be held Saturday, April 2nd, on the University of Iowa campus in Iowa City. Participating teams in two divisions will program solutions to problems on the computers in the Computer Science Labs. The first three teams of each division will be recognized during an awards ceremony following the competition. Any changes, additions, or clarifications to these rules will be announced during the orientation meeting preceding the competition. 


During the competition, team members may use written materials (e.g., textbooks) of any kind. Pencils and scratch paper will be provided. Calculators are permitted. Teams may not bring any storage devices. We will provide flash drives as necessary. 


Each team will be assigned one computer to use during the competition. Instructions on computer usage will be given during the orientation meeting preceding the competition. Tables at the back of the room will be available for work away from the computer. 


Student Monitors

Student monitors from UI will be available to assist team members. The monitors will answer questions concerning computer usage and competition procedures but will not answer any questions regarding logic, language syntax, or problem interpretation. 


When the competition begins, each team will be given 5 computer problems to solve. Team members may work on these problems in any order and in any manner they choose. There will be 3 hours to work on these solutions.


Each team may run their program using their own test data files as many times as they wish. We urge you to use the sample provided with each problem statement, but do not assume that because your program works with the sample data that it will work with the actual competition test data. More test cases will be released as "hints" to the problem as the competition goes on.  This will help verify your code; however, test your programs very carefully before submitting them for judging. 


Once the competition begins, all direct or indirect interaction between the teams and judges will be limited to written communication on Dialog Request forms. This includes requests for clarification of problems as well as any other question about a specific problem. These questions, and their answers, will be mounted in a public area so that everyone will know the question and answer.

Judged Runs

A judged run consists of the competition judges executing a program using the official competition judging data. When a team is ready to have a program judged, they must alert a student monitor who will help them fill out a judged run submittal form that will be sent to the judges. The student monitor will provide a team memory stick for submission purposes: please use file names that are easily identified as pertaining to a particular problem (you may use subdirectories or folders as appropriate). Teams may make as many judged runs as they wish; however, each incorrect judged run adds 10 minutes of time to the eventual problem completion time (see Standings section for more info).


Time of Execution

When the competition judges are executing a program using the official competition data, a solution will be judged to be incorrect if it does not execute in less than 1 minute. 


If a program is judged to be correct, the submittal form will be returned to the team with CORRECT written on it. If a program is judged to be incorrect, the submittal form will be returned to the team with one of the following indicated on it: 

  • Wrong Answer The program generates incorrect answer(s) to the question.
  • Run-time Error During execution, a run-time error occurred, such as divide by 0.
  • Time-limit exceeded The program took longer than 1 minute to execute.
  • Presentation Error The output was not formatted according to specifications.
  • Compilation Error The program will not compile and execute.
  • Other


Teams will be ranked according to the number of problems they complete correctly. For example, a team that completes 5 problems correctly will finish ahead of a team that completes 4 problems correctly. There is no penalty for problems that are not solved. In the event of a tie, the teams that tied will be ranked according to the total accumulated time taken by each team. Accumulated time is measured as follows: for each problem completed correctly, the time from the start of the contest to the completion of the problem is calculated and added to the team’s total accumulated time. Furthermore, 10 minutes per incorrect submission of a problem are added to the total time for that problem. For example, if a team turned in two incorrect solutions to a problem (when they turn them in doesn’t matter) and correctly solve the problem after 2 hours, the total solution time for that problem will be 2 hours and 20 minutes. If two teams complete the same number of problems, the team that has an accumulated time of 120 minutes would be ranked ahead of the team that has an accumulated time of 140 minutes. If the teams that tied have the same total accumulated time, the team with the smallest number of judged runs will be determined the winning team. 



First, second, and third places will be awarded to the teams of each division. A complete list of rankings will posted on the ACM Hawkeye Challenge website.