ACM常见错误提示及可能的解决办法

Waiting:你的程序刚刚提交,正在等待OJ评测你的程序。

Compiling:OJ正在编译你的程序。

Accepted:OK!你的程序是正确的 。

Wrong Answer:你的程序运行的结果和正确结果不同。状态页面CASE那一览显示的是你的程序在第几个样例上出错的。

Time Limit Exceeded:你的程序运行时间太长了,超过了对应题目的时间限制。

Memory Limit Exceeded:你的程序运行所用的内存太多了,超过了对应题目的限制。

Output Limit Exceeded:你的程序输出了太多的内容了,超过了OJ的限制,轻检查你的程序中是否有可能存在无限循环输出。

Floating Point Error:Divide by 0,除0错误。

Segmentation Fault:段错误。有2中情况可能导致次错误:

  • buffer overflow – 缓冲区溢出,也就是你访问 了非法内存,比如你神情了一个大小为2的数组a,却访问了a[10000],或者在C/C++中访问了空指针等等。

  • stack overflow – 堆栈溢出,有可能你在c/c++程序的函数中神情了过大的空间,或者递归层次太多,导致堆栈溢出了,轻记住堆栈的大小为8192KB.

Restricted Function:你的程序调用了不该调用的函数,比如fork(),execv(),socket等等危险的函数,清牢记一点:在你的程序中只作与解决问题有关的事情,尽情其他的操作都会被OJ拦截下来。

Compilation Error:编译错误,如果你的程序在本机能够正常编译,请在下面的编译出错怎么办查看更详细的解决办法。

Presentation Error:你的程序运行的结果是正确的,但是格式和正确结果有点不一样。比如中间多了回车或者空格,请仔细检查程序的输出部分,离AC就差一点点啦!PE就是没通过。 没通过就没成绩。

System Error (SE) : OJ内部出现错误。由于我们的OJ可能存在一些小问题,所以出现这个信息请原谅,同时请及时与管理员联系。

Runtime Error (RE) :你的程序在运行的时候出错了,异常终止了,导致这种状态的情况有肯多,一般都是一些非法操作,比如文件操作,Java中的网络操作等等。另外C/C++中越界访问函数中定义的数组也会导致Runtime Error。以下列出常见的错误类型:

ACCESS_VIOLATION 您的程序想从一些非法的地址空间读取或向其中写入内容。一般例如指针、数组下标越界都会造成这个错误的。
ARRAY_BOUNDS_EXCEEDED 您的程序试图访问一个超出硬件支持范围的数组单元。
FLOAT_DENORMAL_OPERAND 进行了一个非正常的浮点操作。一般是由于一个非正常的浮点数参与了浮点操作所引起的,比如这个数的浮点格式不正确。
FLOAT_DIVIDE_BY_ZERO 浮点数除法出现除数为零的异常。
FLOAT_OVERFLOW 浮点溢出。要表示的数太大,超出了浮点数的表示范围。
FLOAT_UNDERFLOW 浮点下溢。要表示的数太小,超出了浮点数的表示范围。
INTEGER_DIVIDE_BY_ZERO 在进行整数除法的时候出现了除数为零的异常。
INTEGER_OVERFLOW 整数溢出。要表示的数值太大,超出了整数变量的范围。
STACK_OVERFLOW 栈溢出。一般是由于无限递归或者在函数里使用了太大的数组变量的原因。

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/89351076