Hello,
Does anyone know how to create Codeforces like interactive problem in cms? What I mean codeforces like is no header file, just communicate with stdin/stdout, but I've never seen anything like this from other olympiads.
Thanks.
Hello,
Does anyone know how to create Codeforces like interactive problem in cms? What I mean codeforces like is no header file, just communicate with stdin/stdout, but I've never seen anything like this from other olympiads.
Thanks.
| № | Пользователь | Рейтинг |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3603 |
| 4 | jiangly | 3583 |
| 5 | turmax | 3559 |
| 6 | tourist | 3541 |
| 7 | strapple | 3515 |
| 8 | ksun48 | 3461 |
| 9 | dXqwq | 3436 |
| 10 | Otomachi_Una | 3413 |
| Страны | Города | Организации | Всё → |
| № | Пользователь | Вклад |
|---|---|---|
| 1 | Qingyu | 157 |
| 2 | adamant | 153 |
| 3 | Um_nik | 147 |
| 4 | Proof_by_QED | 146 |
| 5 | Dominater069 | 145 |
| 6 | errorgorn | 141 |
| 7 | cry | 139 |
| 8 | YuukiS | 135 |
| 9 | TheScrasse | 134 |
| 10 | chromate00 | 133 |
| Название |
|---|



Yes, it's possible. In fact, the two (i.e. I/O format and interactiveness) are completely independent.
In the configuration for a task in CMS, you can choose whether
Submissions are compiled with a grader/stuborSubmissions are self-sufficient— usually when problem-setters choose to use with a grader/stub, the grader/stub handles I/O and calls a function the contestants implement which is linked through a header file (CMS calls this feature a grader for batch tasks, and a stub for communication tasks but this is largely the same).Interactivity is added through the task type being set to
Communicationinstead ofBatch. You then need to upload amanager, which implements the actual interaction (i.e. has access to I/O of the solution (or solution + stub), as well as the test data, and implements the problem logic). This is also what decides the score for Communication tasks.This is explained in more detail in the CMS documentation
You can also see some discussion on this in this github issue (note that this is not perfect and has some issues as outlined in this issue)