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