OI 也有 pvp?过题并非是正收益?被 weak pretest 迫害的 NOI Au?戏剧性拉满的一集!
赛制由 @_Minmatar_Star 发明。
赛制
一、基础规则
- 队伍配置:两队对抗,每队 5 人。
- 题目组成:
- 个人题:每人 1 道 OI 题,难度在绿题左右,考察码量,部分分设置齐全(含多个子任务)。
- 团队题:共 5~6 题(4 道思维题 + 1 道神秘题,或 6 道思维题)。
- 思维题:蓝题难度,每题 50 分,无部分分。
- 神秘题:人类智慧,以交互为主,200 分,禁止 Hack。
- 比赛时长:2 小时做题阶段 + 1 小时公开 Hack 阶段。
二、信息隔离与锁题机制
- 比赛开始时,所有成员只能看到自己的个人题,团队题全员不可见,队伍内部不能交流。
- 每名选手需独立完成个人题。一旦决定锁定个人题:
- 无法再修改个人题的任何提交。
- 可以与同样锁题的队友进行交流。
- 同时解锁团队题的查看权限,并获得 Hack 对手对应位置个人题的资格。
- 尚未锁题的成员,只能看到其他人是否已锁题,无法查看团队题,无法参与团队讨论。
三、做题阶段(2 小时)
- 选手可自由分配时间:先攻克个人题,或尽早锁题进入团队协作。
- 已锁题的选手:
- 可与队友实时交流,共同解答团队题。
- 可随时对对方同位置选手的个人题发起 Hack。
- 个人题 Hack 规则(逐部分分攻击):
- 个人题的每个子任务(部分分)都是独立攻击目标。攻击者可以选择任意一个或多个子任务分别发起 Hack。
- 只有对某个子任务 Hack 成功,对方才会失去该子任务得分的 60%,即该子任务实际得分变为原来的 40%(攻击方不得分)。
- 未被 Hack 或 Hack 失败的子任务,对方分数不受影响。
- 举例:若对手在某题拿到了三个子任务的分数(10分、20分、30分),你只针对 30 分的子任务成功进行了 Hack。则对方该子任务得分降为 30 × 40% = 12 分,其余子任务不变,总得分变为 10 + 20 + 12 = 42 分,对方损失了 18 分。
四、公开 Hack 阶段(1 小时)
- 此阶段只能 Hack 团队题,个人题不再接受 Hack。
- 团队题 Hack 规则(仅适用于思维题,神秘题禁止 Hack):
- 攻方需针对某道团队题,成功 Hack 掉对方给出的所有正确做法,才算 Hack 成功。
- Hack 成功:对方失去该题 70% 的分数,攻击方获得等量分数(真正的“窃取”)。
帮我写一个系统,包括服务器 js,需要支持设置每一对人数,需要有一个无限权限的管理员,还有他会设置每一对人数和账号,配置题目,还有测试点。
上述所有功能都需要体现,包括排行榜和提交,评测等。
内网 html,直接点开 html 登录进入。
页面好看一点,支持浅色和深色系统模式。
支持保存 cookie 不会自动退登。
增加动画。
支持管理员赛时提示、私信等。
然后对照上述所有的要求完善代码。
界面需要继续进行部分美化。
需要完善功能,管理员支持设置题目,可以直接上传文件夹解析,也可以直接在数据文件夹放入一定格式的数据。
题面一道一道地放入,可以支持 pdf,md,根据赛制推送选手。
Hack 需要有数据合法性检查,需要上传检查 cpp。
私信界面尽量模仿 微信/QQ 这种,你的不好看,重构。
请根据赛制实际情况设定,比如个人题编辑,团队题编辑,每道题都有单独的界面来编辑/阅读。管理员需要把题号放进对应的谁做的列表里面。就可以设置题库功能,然后只需要放题号。普通用户只能根据赛制看题/交题/锁题。
数据设定存放目录。
都是比赛(界面+设置界面)单独页面,题目(界面+设置界面)单独页面,还需要支持评测机,好好写。
服务器 admin 设置临时文件储存位置,跟数据位置可以不同。
需要支持自动解析数据,一般是压缩包,.in / .ans。
题目可以选择类型,是否需要写freopen in out,和文件名。文件名不一定和数据一样,需要自己调整。
评测不要出问题。 可以设置是否捆绑,设置方式是一个解析完数据之后如果是捆绑,可以多选设置每一个测试点是哪一个 sub 的然后排序。上传新数据旧数据会删除。除了管理员,限制一道题数据不超过 100Mb
题库页面紧凑一点,可以搜索/标签筛选。
然后整体可以模仿洛谷完善所有功能,自己去洛谷看 私信功能只有比赛可以用,并且根据比赛的规定
编译器如果有 -Wall 的返回值需要再评测记录最后给选手。
Latex 渲染不完整,$ 用不了。
需要同步洛谷的所有 Latex,上网找
题号用 Q+数字,可以修改吗,默认顺着。 题目字体颜色修改一下,题面字体尽量用黑色,或者深色模式就是白色。不用在题目中写子任务,只需要说有捆绑放标签。可以自己添加很多算法类型/比赛类型标签。
给的类似 保存成功提示在右上角一个小玻璃卡片上,就显示一下 题目需要选择是否是子任务,然后决定界面是普通每个点分的配置,还是捆绑选择,就是显示所有测试点,然后可以多选设置是第一个多测的。分可以不是 100
编辑题目有两个栏目,题目设置和评测点设置。 捆绑测试题也是显示所有测试点,对于每一个点修改属于哪一个,可以多选修改成相同的。
支持每一个点写时间空间限制,也支持统一在所有的那一栏修改。
评测需要显示每一个点的时间/空间使用。
评测如果 TLE 需要评测到 1.2 秒(可以调整),显示时间。
标签可以管理,储存到本地。题库管理和题库紧凑一点
测试数据解析有问题,就识别对应的 .in .out 为数据。
rar 也要支持
增加邮箱验证实名,白名单里只有 qq 邮箱,使用我自己的邮箱给别人的 qq 邮箱发送消息,60s 一次。