Hi all,
At the Helvetic Coding Contest - as its name implies, Switzerland's largest
programming contest - we patched DOMJudge to add support for hiding problem
statements until another problem is solved.
For instance, if C depends on B and B depends on A, teams are forced to
first solve A, then B, then C. This year we had 5 such chains, for a total
of 15 problems.
This has two advantages:
- It forces beginners to solve easy problems first, ensuring they'll solve
a few problems and have fun rather than picking a hard problem whose
difficulty is not apparent and getting stuck on it for hours. (This looks
like a problem that should be solved by educating users, but as any
software engineer knows, that is all but impossible :) )
- It allows us to have a bunch of problems on a common theme, where in a
few cases the harder one's statement is simply "like the easier one, but
with much larger bounds on the input" without allowing teams to solve the
hard one first and then submit that solution to the easier one. More
problems, less work for problem creators.
Thus our contest is suitable for both beginners and experts (even if
beginners don't have a chance of actually winning, they enjoy it).
I recently rewrote that patch on top of the master branch of the DOMJudge
repo, it's quite small (about 40 modified lines).
Is this something DOMJudge users are interested in? Should I open a PR?
Cheers,
Solal Pirelli