Codeforces and Polygon may be unavailable from December 6, 19:00 (UTC) to December 6, 21:00 (UTC) due to technical maintenance. ×

RunTwice Contest in Universal Cup!

Revision en3, by Gassa, 2023-12-29 14:00:38

Hi!

The next stage of Universal Cup, Run Twice Contest, will happen on December 30-31, 2023. As the name suggests, all problems in the contest are in run-twice format. I am the author of the contest.

Originally, the contest was held in Petrozavodsk Summer Camp 2022. The plan was to hold it later as an Opencup stage, in order to further introduce the format to a wider audience. Alas, Opencup got suspended around that time. Fortunately, sharing it beyond the camp can finally happen now. Thanks go to Qingyu and the other Universal Cup admins!  

About Universal Cup

The Universal Cup is a contest series for competitive programming teams. Among other qualities, it is a spiritual successor to Opencup. The stages are various camp stages, ICPC regionals, local contests and the like. This scheme gives participants fresh, diverse and quality contests to train and compete, at the same time allowing local contest authors to share their work with the world.

Proceed to the Universal Cup site to take part!

About Run-Twice

Run-twice is a custom problem format. A classical problem works as follows; programs are capitalized, data are lowercase:

input > Solution > output > Checker

  • The contestant's Solution reads an input and produces an output.
  • The output is checked by the jury's Checker program.

A run-twice problem, now, works as follows:

input-1 > Solution > output-1 > Channel > input-2 > Solution > output-2 > Checker

  • The contestant's Solution reads an input-1 and produces an output-1.
  • The jury's Channel program reads the output-1 and produces an input-2.
  • The contestant's Solution runs again, reads the input-2 and produces an output-2.
  • The output-2 is checked by the jury's Checker program.

Importantly, the second run of Solution does not see input-1.

A prominent example of such problem is IOI 2011 Parrots.

The natural use of the format is encoding-decoding problems. For example, the first run transforms 123 into one two three, and the second run sees one two three and restores 123. Or the first run sees a regular bracket sequence and prints its lexicographical number, and the second run sees the number and restores the sequence. Here, the jury's Channel program just checks the correctness of output-1, and maybe adds something to produce input-2, like the size of the string.

It turns out however that run-twice format allows for much more than that. In the contest, I'd like to demonstrate its various uses that I've learned so far.

Tags run-twice

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru4 Russian Gassa 2023-12-29 14:59:01 245
en4 English Gassa 2023-12-29 14:56:54 244
en3 English Gassa 2023-12-29 14:00:38 4
ru3 Russian Gassa 2023-12-29 14:00:25 8
ru2 Russian Gassa 2023-12-29 13:57:03 0 (опубликовано)
en2 English Gassa 2023-12-29 13:56:53 0 (published)
ru1 Russian Gassa 2023-12-29 13:56:36 2580 Первая редакция перевода на Русский (сохранено в черновиках)
en1 English Gassa 2023-12-29 13:54:00 2703 Initial revision (saved to drafts)