【发布时间】:2013-02-14 04:49:11
【问题描述】:
我建立了自己的在线评委来托管Intra-College Programming Contest。评委与SPOJ、Codechef、UVA 等类似并且一样好。目前,我的在线判断使用与上述三个网站相同的逻辑来检查是否,答案是Correct(Accepted) or Wrong。也就是说,它根据标准official test cases运行用户程序,并将用户程序生成的输出文件与standard(expected) output file.当用户输出文件与预期的输出文件匹配时,判断为correct answer,否则为Wrong Answer。
现在,我想添加一个Individual test case scoring system 的功能,例如InterviewStreet.com。用户根据通过的测试用例数(接受)获得积分。[参考上述图片]。我想不出一种有效的方法/方式来实现它。
我最初的入侵是:
将每个测试用例(假设总共有 T 个测试用例)Inputs 放在 T 个单独的输入文件中(in1.txt,in2.txt,in3.txt, ...inT.txt) 和另一个 T 个单独文件中的预期输出 (out1.txt,out2.txt,out3.txt,....outT.txt) 并运行用户程序 T 次,每个输入测试用例一次(输入文件)。
但这听起来不太好。当测试用例 T 的数量很大时,编译服务器将非常慢,因为用户程序必须运行 T 次。 p>
请给我一些快速有效的方法来实现个人测试用例评分系统。
【问题讨论】: