一、答案正确(Acepted, AC)
这是个皆大欢喜的提示。如果是单点测试,那么没通过一组数据,就会返回一个Accepted;如果是多点测试,那么只有当通过了所有数据时,才会返回Accepted。
二、答案错误(Wrong Answer, WA)
这说明代码有漏洞或者算法根本就是错误的,有的恰好能过样例。不过有时可能是因为输出了一些调试信息导致的,那就删除多余的输入内容再输出。当然,大部分情况下都需要认真检测代码逻辑有没有问题。
三、编译错误(Compile Error,CE)
如果代码编译不成功,就会提示编译错误(Compile Error)。先看看是不是选错了语言,然后再看本地的编译器能不能编译通过刚刚提交的代码,修改之后再次提交试试。
四、运行超时(Time Limit Exceeded, TLE)
由于每道题都会规定程序运行时间的上限,因此当超过这个限制时就会返回TLE。一般来说,这一结果可能是由算法的时间复杂度过大而导致的,当然也可能时某组数据使得代码中某处地方死循环掉了。因此,要仔细思考最坏时间复杂度是多少,或者检查代码中是否可能数显特殊数据死循环的情况。
五、运行错误(Runtime Error, RE)
这一结果的可能性非常多,常见的有段错误(直接的原因时非法访问了内存,例如数组越界,指针乱指),浮点错误(例如除数为0,模数为0),递归爆栈(一般由递归时层数过深导致的)等。一般来说,需要先检查数组大小是否比题目的数据范围大,然后再去检查可不可能有特殊数据可以使除数或者模数为0,有递归的情况则检查是否在大数据时递归层数太深。
六、输出超限(Output Limit Exceeded, OLE)
如果程序输出了过量的内容(一般是指过量非常多),那么就会返回OLE。一般是由输出了大量的调试信息或者特殊数据导致的死循环输出导致的。
七、内存超限(Memory Limit Exceed,MLE)
每道题目都有规定程序使用的空间上限,因此如果程序中使用太多的空间,则会返回MLE,例如数组太大一般最容易导致这个结果。
八、格式错误(Presentation Error, PE)
这应该是最接近Accepted 的错误了,基本上由多输出了空格或者换行导致的,稍作修改即可。