Friday, June 8, 2012

2013 ICPC World Finals Call for Problems

2013 International Collegiate Programming Contest Finals

Call for Problems

The ACM International Collegiate Programming Contest is seeking programming problems for the Contest Finals. Contest Finals Judges will be selected from among those who contribute problems. Each contributor must submit at least two problems, each consisting of

* a problem statement

* an estimate of the difficulty of the problem

* a brief description of the algorithm used in the solution

* a solution in C/C++ or Java

* a comprehensive (but not necessarily exhaustive) annotated test data set

All problems must be submitted by Tuesday, September 4, 2012.

This date is firm and cannot be extended.

I will send an acknowledgement when I receive a submittal. If you do not receive an acknowledgement within a week, please contact me again.

The "Guide for Judges and Problem Contributors" is attached. Please read this document carefully.

If you have any questions or comments, please contact me.

Dick Rinewalt

PS: Please forward this to anyone who is interested.


Guide for Judges and Problem Contributors

2013 International Collegiate Programming Contest Finals

Judges for the 2013 ACM International Collegiate Programming Contest Finals

have the sole responsibility for producing the test problems (including test

data and expected results) used in the contest and for assessing the

correctness of solutions produced by teams competing in the contest. This

guide is an attempt to assist judges with those responsibilities.

Problems from previous Contest Finals are available at the ICPC web site

These may be used as further guides for producing problem statements.

If you have more questions, please contact:

Dick Rinewalt

College of Science & Engineering

Texas Christian University Box 298960

Fort Worth, Texas 76129

Office phone: 817-257-7721

Problem Statements

1. Each problem must be unambiguously described in English.

2. All problems must require input.

3. Unless the core of the problem is input/output related, the formats chosen

for input data and the displayed results should be relatively simple.

Still, the format of the input data and the appearance of the expected

displayed results must be described in suitable detail.

4. Multiple data sets testing different cases are appropriate; make the

problem statement include iterative data sets as input to avoid using

separate input files.

5. Anticipate questions about special cases. Where appropriate, explicitly

state that certain special cases will not appear in the input data. It is

not necessary to specifically identify the special cases that will appear.

6. Indicate the precision that is required for real results.

7. Contestants must write solutions for problems in a short time. While very

simple problems are not appropriate, neither are problems that require a

great deal of code; a few hundred lines of Java or C should be an upper

limit on what can be expected in a solution.

8. The program and chosen test data should not require excessive execution

time. Contestants' solutions may be less efficient than yours and so a

generous margin is allowed for execution. If your test data requires the

program to execute for a long time, then incorrect student solutions

(e.g., those with infinite loops) will take an excessively long time to

judge. We would like to avoid those situations.

9. The problem description (excluding sample input/output) should generally

require at most one page.

Judges' Solutions

1. For each problem you propose, prepare a solution in C/C++ or Java.

Solutions in multiple languages will be appreciated.

2. Include comments in your code, even though the contestants' code need not

be commented.

3. Make sure that your program correctly solves the problem! Include test data

that illustrates the generic and special cases that you expect the

contestants' solutions to handle.

Test Data

1. Data must be unambiguous when printed. Consider carefully those cases where

trailing blanks (or leading blanks, etc.) will make a difference in a

program that processes input data.

2. If several test cases are included, describe the manner in which data for

the test cases is separated in a single file.

3. Include a rationale for each of the test cases you provide. This will help

identify missing test cases as well as identify those cases where a student

solution fails.

4. Put a copy of the sample input data first followed by general cases, ones

which student solutions are likely to get. Stress tests (boundary values)

should appear last.

Submission of Problems, Solutions, and Test Data

1. Use electronic mail and send all files as either

* MS Word document,

* RTF,

or * flat ASCII.

PGP encryption is encouraged but not required.

My public key is attached to the end of this message.

2. Do not put your name in documents containing the problem statement,

solution, or test data.

3. Be discreet about problem statements and solutions. It is not appropriate

to discuss problems with people not involved with the contest.

4. Problem selection will be completed in October.

Judging Criteria at the Finals

1. Each solution proposed by a contest team will be judged as acceptable or

not. If not, at least one of the following comments will be returned to the


* Run-time error

* Time limit exceeded

* Wrong answer

2. Contestants may ask for clarifications of the problem statements. When

appropriate such clarification will be provided.


Each proposed problem must include the following components:

a) a problem statement

b) an estimate of the difficulty of the problem

c) a brief description of the algorithm used in your solution

d) a correct C/C++ or Java solution to the problem

e) a comprehensive (but not necessarily exhaustive) annotated test data

set for the problem.

No comments: