Thursday, June 30, 2011

2012 World Finals Call for Problems Due 9/6/211

2012 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 6, 2011.
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
2012 International Collegiate Programming Contest Finals

Judges for the 2012 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.

1 comment:

Christmas Breakfast Recipes said...

NICE EFFORT BY Dr. C J Hwang, ACM-ICPC Asia Director