Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Add Communication #834

Open
Molmin opened this issue Jun 28, 2024 · 0 comments
Open

[Feature Request] Add Communication #834

Molmin opened this issue Jun 28, 2024 · 0 comments

Comments

@Molmin
Copy link
Contributor

Molmin commented Jun 28, 2024

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

  • 时间计量不准确,包括编译两个程序之后可执行文件必须压缩之后才可以传递,解压时间和 communicator 运行的时间都会计入选手用时
  • 这样的实现容易被攻击,选手可能创建一个临时的文件来传递答案

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant