natsukagami / kjudge

A simple system for hosting competitive programming contests.
GNU Affero General Public License v3.0
23 stars 11 forks source link

Allows further customization of problems' scoring policy #84

Open minhnhatnoe opened 1 year ago

minhnhatnoe commented 1 year ago

Is your feature request related to a problem? Please describe. Many problem policies, including scoring mode, penalty policy, test group point calculation, etc. are currently limited to policies that already exists within the codebase. It should be possible for problemsetters to customise this.

Describe the solution you'd like A possible solution would be to follow how custom compile scripts are already handled: problem setters can upload files such as scoring_mode.exe or penalty_policy.exe (.py files should probably be accepted too). Data are piped using CSV or JSON to the program. These executables should also be run in a sandbox since there is definitely risk of other programs tampering with their workings.