前言
一个用户提交的程序在Online Judge(在线测评)系统下执行时将受到比较严格的限制,包括运行时间限制、内存使用限制和安全限制等。用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转交给一个裁判程序。
该裁判程序或者比较用户程序的输出数据和标准输出样例的差别,或者检验用户程序的输出数据是否满足一定的逻辑条件。
最后系统返回给用户一个状态:通过(Accepted)、答案错误(Wrong Answer)、超时(Time Limit Exceed)、超过输出限制(Output Limit Exceed)、超内存(Memory Limit Exceed)、运行时错误(Runtime Error)、格式错误(Presentation Error)、无法编译(Compile Error),并返回程序使用的内存、运行时间等信息。
在线测评系统标准:
国内较好的在线测评系统有:
北京大学的PKU JudgeOnline(http://poj.org/ )
浙江大学ACM在线测试(http://acm.zju.edu.cn/onlinejudge/ )
杭州电子科技大学的HDU Online Judge System (http://acm.hdu.edu.cn/)
POJ
登录成功,注册,如图:![](https://img-blog.csdnimg.cn/04c9f178a07347ffa9f43c948da0dcd4.png)
在PKU JudgeOnline网站中,提供了4千多道题目。用户可以在该网站中注册一个用户ID,然后选择某个问题进行求解。用户可以将编写的程序通过网页提交给在线测评系统,每一次提交后,测评系统都会将评判结果显示在网页上。
用户可以根据测评系统反馈回来的评判结果修改程序,直到最终收获Accepted。这个过程不仅能培养用户独立分析问题、解决问题的能力,而且每成功解决一个问题都能给用户带来极大的成就感。
解题情况
在PKU JudgeOnline主页单击超链接“Problems”,可打开如图2所示的页面。在页面中用列表的形式显示了系统中提供的各个问题,例如,页面中显示的“1000、A+B Problem、 56%(271151/480509)、2019-6-10,表示ID号为“1000”的题目“A+B Problem”截止到2019年6月10日,有480509人次提交了程序,其中有271151次通过
查看题目详情![](https://img-blog.csdnimg.cn/807c9656f4514f1c8e6db90cc414288d.png)
Language处可以更换语言,也不用担心看不懂题目内容;
测评代码成果
在写出了该问题的程序后,可以将其提交给测评系统评判。
单击主页中的“Submit Problem”超链接,打开如图4所示的提交页面。
步骤如下
1、在“Problem ID”后的文本框中输入“1000”,(题目前的编号)
2、在“Language”下拉列表框中选择语言为“C++”,
3、在“Source”多行文本框中输入所编写的程序,
4、单击“Submit”按钮,即可将程序提交给测评系统。
5、之后,测评系统会打开一个页面显示评判后的结果。