hydro-dev / Hydro

Hydro - Next generation high performance online-judge platform - 新一代高效强大的信息学在线测评系统 (a.k.a. vj5)
https://hydro.js.org/
GNU Affero General Public License v3.0
3.2k stars 273 forks source link

[Feature Request] Add Communication #834

Open Molmin opened 3 days ago

Molmin commented 3 days ago

目前通信题只能通过自定义 execute.sh 实现,这样的实现方式有一些缺陷:

另外包括函数式交互题,自测中均会调用评测时自定义的编译和运行脚本,这可能允许选手读取到一些信息从而攻击交互库。

我期望的实现是自定义一个 tasks.yml。UOJ 的实现是允许 SU 自定义 judger.cpp,这样会使通信题有更加丰富的支持(例如不固定次数的运行,但是毕竟这种题目是少数,大部分通信题都是运行 2 次或者 3 次即可)。