OJ系统简介
Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++) 源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制,内存使 用限制和安全限制等。用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转交给一个裁判 程序。该裁判程序或者比较用户程序的输出数据和标准输出样例的差别,或者检验用户程序的输出数据 是否满足一定的逻辑条件。(PS:OJ系统其实比较傻,所以你的输出内容必须和题面要求的一模一样,甚至空格和回车都得一样,否则就会被判定为错误) 最后系统返回给用户一个状态:通过(Accepted)、答案错误(Wrong Answer)、超时(Time Limit Exceed)、超内存(Memory Limit Exceed)、运行时错误(Runtime Error)或是无法编译(Compile Error),并返回程序使用的内存、运行时间等信息。
Online Judge系统最初使用于ACM-ICPC国际大学生程序设计竞赛和OI信息学奥林匹克竞赛中的自动判 题和排名。现广泛应用于世界各地高校学生程序设计的训练、参赛队员的训练和选拔、各种程序设计竞 赛以及数据结构和算法的学习和作业的自动提交判断中。
OJ常见判题结果解释
这里以PTA系统的判题结果为例,不过各个OJ系统判题结果都是大同小异。至少会包含通过(Accepted)、答案错误(Wrong Answer)、超时(Time Limit Exceed)、超内存(Memory Limit Exceed)、运行时错误(Runtime Error)或是无法编译(Compile Error)这几种结果
OJ的题目介绍:
在问题中随便进入一个题目可见题目描述
OJ系统的使用
首先登录你的管理员账号(管理员账号请向相关人员申请),在导航栏右上角个人信息下找到管理按钮点击进入:
此时我们进入管理后台如下图所示
如何添加新题目:在管理后台中我们选择问题添加点击
进入后看到出题页面:
出题页面所对应每个文本框与OJ的题目介绍相对应,将内容填入即可,文本支持HTML语法,保存题目后返回管理页面点击问题列表这里可以看到我们添加的问题这里显示尚未启用(尚未启用依旧可以看到题目只是无法提交)
我们在问题列表里勾选新出的题目,然后点击启用,此时我们点击管理测试数据添加更多评测数据(编辑是重新编辑题目)如下图所示
其中后缀名为in的是输入数据,out文件为输出数据,samle与test分别为刚才录入题目的样例数据与测试数据,此时我们要添加新的测试数据点击左上角的创建文件,每组测试文件需要相同的前缀名一个in对应一个out 添加如下所示(测试数据通常不大于15组)
至此题目添加完成。您可以在OJ中提交您的标程代码测试本题。