踩了波计分脚本的坑
  • 板块学术版
  • 楼主water_lift
  • 当前回复6
  • 已保存回复6
  • 发布时间2020/5/27 17:09
  • 上次更新2023/11/7 01:38:12
查看原帖
踩了波计分脚本的坑
39122
water_lift楼主2020/5/27 17:09

昨天的帖子

刚才研究了一下,现在总算弄明白了(

为防止以后再有同学被坑到,我简单说一下:

自定义计分脚本 - 洛谷 的博客 中提到 对于每个计分脚本,将会传入若干组如下变量:@statusX、@scoreX、@timeX、@memoryX,其中 X 对应测试点/Subtask 的 ID。,但是实际上只有 Subtask ID 能用了。(其实很久以前也是可以用测试点编号的,不知道为啥现在不行了)


这样改变之后其实方便了许多。

比方说原来可能需要写:

if @status1==AC and @status2==AC and @status3==AC and @status4==AC and @status5==AC and @status6==AC and @status7==AC and @status8==AC and @status9==AC and @status10==AC ;then
    @final_status=AC;
    @total_score=10000;
else
    @final_status=UNAC;
    @total_score=@score1+@score2+@score3+@score4+@score5+@score6+@score7+@score8+@score9+@score10;
fi

现在只需要写:

if @status0==AC ;then
	@final_status=AC;
    @total_score=10000;
else
	@final_status=AC;
    @total_score=@score0;
fi

这是因为,每个测试点的Subtask ID默认为0

2020/5/27 17:09
加载中...