ACM过程中的提交结果(新手必看!)

来源:互联网 发布:苹果笔记本系统windows 编辑:程序博客网 时间:2024/05/17 22:39

备注:以下内容全都是来自我平时写程序过程中的总结,如有纰漏,请大家指正,并多多包涵

Accepted (正确)

当你在某一ACM在线测评系统上提交了你的代码后,如果你得到了一个Accepted,简称AC,恭喜你,通过了这道题,你的代码是正确的。除了Accepted之外的所有结果,都是不符合要求的。


Compile Error(编译错误)

简称CE。通常是指语法错误,这是最最简单的错误了,因为你完全可以在提交之前,在本地的编译器上测试出来,然后改正。


Wrong Answer(错误)

简称WA。很多ACM新手们,在千辛万苦写好一份代码并且自认为是正确的,但是提交之后却得到了Wrong Answer的结果,他们百思不得其解,其实,OJ的后台有很多组测试数据,就算你的代码可以通过样例,但并不代表可以通过后台的所有数据,只要你有一组数据输出与测试输出不一样,你就无法AC。所以建议同学们,可以自己脑补一些特殊数据,看看是否能够得到正确的结果。除此之外,还要再次认真读题,很多时候Wrong Answer都是因为没有正确理解题目的意思。


Presentation Error(格式错误)

简称PE。这种错误还是比较容易发现并改正的,通常产生的原因是由于你的代码输出的格式与题目要求的不一致。
常见的PE有以下几种:

  • 大小写错误
  • 行末不应该有空格
  • 分号 冒号 逗号等中英文标点符号傻傻分不清
  • 换行和空格乱用

Time Limited Exceed(超时)

简称TLE。通常需要进行算法优化来降低时间复杂度,加快代码运行的时间。
常见的TLE有以下几种情况:

  • 程序中出现无法终止的死循环
  • 读取输入流和输出流的时间太长。(C++的输入输出中,cin和cout没有scanf和printf快,不要问我是怎么知道的,我都已经在输入输出上载过无数跟头了….建议同学们养成用scanf和printf的好习惯)
  • 时间复杂度大,常常是多层循环或者深递归导致。建议大家能不用循环的时候,就不用循环,因为循环费时。

Runtime Error(运行错误)

简称RE。这种错误也是好避免的。
常见的RE有以下几种:

  • 数组开得太小了,导致访问到了不该访问的内存区域
  • 发生除零错误
  • 大数组定义在函数内,导致程序栈区耗尽
  • 指针用错了,导致访问到不该访问的内存区域
  • 程序抛出了未接受的异常

原创粉丝点击