RT,首先,褒扬一下这个自定义计分脚本的功能(bushi
其次是反馈内容。
-
这个脚本跟 Bash Shell 的很多命令相似(比如if
指令),可是 Bash Shell 是包含for
迭代指令的,而本脚本不包含。这使得有时要判断大量测试点/Subtask的属性时非常费劲
eg. 如果一个Subtask有10个测试点,我想判断如果全部WA就整个Sub给1分,那就应该这么写:
if @status1 == AC and ... and @status10 == AC; then
@total_score = 1;
...
fi
如果有20个测试点就更多了,这是非常不方便的。
解决方案:
- 给出所有下辖测试点/Subtask的统一变量,如
@all_status
,将常量表定义为
-
AC
--全AC
-
WA
--全WA
-
PC
--部分AC
这样方便判断
- 加入循环语句或
range
语句以快速判断
-
该脚本中最终的4个常量都需要定义,否则会UKE。这在测试点很多时会带来麻烦,比如说@final_time
需要把所有测试点时间加起来,这会十分冗长。
解决方案:为这些变量设置默认值。
望管理大大采纳 不要让我写代码