Hello!
The most problems on Codeforces are "classic input-output" problems in which you have to write an entire program: read the input and write the answer. Also, there are "interactive" problems in which you have to interact with a jury's program. But Codeforces supports some other types of problems: problems with graders and output-only problems.
You can test an output-only problem and a problem with grader in this mashup.
Problems with graders
In such problems, you (a participant) have to implement not the entire program but only some interface or function described in the problem's statement. For example. you may be asked to implement function f(a: int, b: int, c: int) -> int
in Python or int f(int a, int b, int c)
in C++. Only Python and C++ are supported for now for such problems.
For problem writers: read this post and this post to learn how to create a problem with a grader. The example problem with a grader is already shared with all Polygon users.
Output-only problems
In such problems, you (participant) have to send only a zip-file with outputs on each test (or only on a subset of tests). The structure of the zip file must be following:
archive-name.zip
|
|- 01.out
|
|- 02.out
|
|- 03.out
...
I.e. zip-file must contain text files with the outputs named like <2-digits-test-index>.out
.
Commonly, each problem could be marked as output-only, but it's recommended to publish tests using the "Problem materials" section in Polygon (see this post to learn more).
Nice blog! Are there any benefits to output-only tasks? Maybe a particular problem type or problem format which works best with this kind of grader?
Such problem type is popular in contests where problems have no ideal solution (optimization problems). For example: https://codeforces.net/contest/1378
Ahhh that makes sense, thanks. Pretty awesome!
Problems with graders just reminds me what Swistakk said recently. lol
Cool! Google and Reply still have troubles implementing this mechanism in their challenges