Accepted
你的程序对所有的测试数据都输出了正确的答案,你已经得到了该题的所有分数,恭喜。
Wrong Answer
评判系统测试到你的程序对若干组(或者全部)测试数据没有输出正确的结果。
出现该种错误后,一般有两种解决方向:
如果对设计的算法正确性有较大的把握,那么你可以重点考虑代码健壮性,即是否存在某些特殊数据使程序出现错误,比如边界数据,比如程序中变量出现溢出
即怀疑算法本身的正确性,那么你就需要重新考虑你的算法设计了。
Presentation Error
评判系统认为你的程序输出“好像”是正确的,只是没有严格按照题目当中输出所要求的输出格式来输出你的答案,例如你忽略了题目要求在每组输出后再输出一个空行。
出现这种错误,往往预示着你离完全正确已经不远了,出现错误似乎只是因为多输出了一些空格、换行之类的多余字待而已。但这不是绝对的,假如在排版题中出现格式错误,那么有可能你离正确的答案仍然有一定的距离。
Time Limit Exceeded
你的程序在输出所有需要输出的答案之前已经超过了题目中所规定的时间。
若这种结果出现在你的评判结果里,依然有两种方向可供参考:
假如你确定算法时间复杂度能够符合题目的要求,那么依旧可以检查是否程序可能在某种情况下出现死循环,是否有边界数据可能会让你的代码不按照预想的工作,从而使程序不能正常的结束。
你设计的算法时间复杂度是否已经离于题目对复杂度的要求,如果是这样,那么你需要重新设计更加高效的算法或者对你现行的算法进行一定的优化
Runtime Error
你的程序在计算答案的过程中由于出现了某种致命的原因异常终止。
你可以考虑以下几个要点来排除该错误:
- 程序是否访问了不该访问的内存地址,比如访问数组下标越界。
- 程序是否出现了除以整数 0,从而使程序异常。
- 程序是否调用了评判系统禁止调用的函数。
- 程序是否会出现因为递归过深或其他原因造成的栈溢出。
Compile Error
你提交的程序并没有通过评判系统的编译,可根据更详细的编译信息修改你的程序
Memory Limit Exceeded
你提交的程序在运行输出所有的答案之前所调用的内存已经超过了题目中所限定的内存限制。
造成这种错误的原因主要有两个方面:
- 你的程序申请过多的内存来完成所要求的工作,即算法空间复杂度过高。
- 因为程序本身的某种错误使得程序不断的申请内存,例如因为某种原因出现了死循环,使得队列中不断的被放入元素。当然也千万别忽略自己的低级错误,比如在声明数组大小时多打了一个 0。
Output Limit Exceeded
你的程序输出了过多的东西,甚至超出了评判系统为了自我保护而设定的被评判程序输出大小的最高上限。一般来说该种错误并不常见,一旦出现了也很好找原因。
要么就是你在提交时忘记关闭你在调试时输出的调试信息(我经常输出 DP 时的数组来动态的观察状态的转)
要么就是程序的输出部分出现了死循环,使得程序不断地输出而超出系统的限制。 |
其实还有一种错误就是你容易把其中的一些字符给打错这样子 |