百度参上!
WA
中文名:答案错误
全称:Wrong Answer
一般来说WA有以下几种情况:(错误原因)
RE
中文名
运行时错误
外文名
Runtime Error
错误原因:
这种错误其实可以尽量得到避免,99%的情况是数组越界---要么下溢要么上溢,以后者居多,其他情况如做除法或取余运算时被除数为零、主函数返回值为-1等等。
改错方法:
解决方法是:习惯在写程序前仔细阅读及估计题目的数据量大小(通过题目所给的数据范围),为数组开够长度(没必要越大越好,但起码要够用,不够就肯定RE,除非题目的测试数据比描述要水很多,那些题不做也罢),经常是少了一个0或少了1。
TLE
中文名:超时
外文名:TLE
全 称:Time Limit Exceeded
决定因素:时间复杂度
错误原因:
一般TLE出现的情况有以下几种:
-
死循环。死循环指程序在循环体内一直执行而不跳出循环。以C++为例,在程序中如果出现了while语句,并且一直符合条件(如while(1){})且没有跳出语句,就会出现死循环。
-
算法效率较低(时间复杂度过高)。对于某一数据范围,算法的时间复杂度不能保证在规定时间内完成计算,导致超出题目的时间限制。
-
常数较大。一般来说,在算法的时间复杂度符合题目要求的情况下,一些程序由于各种原因(如利用了常数巨大的数据结构如平衡树)导致程序的计算量在时间复杂度不变的情况下增大。在某些卡常数的题中就会导致时间超限。
-
在OJ评测时加入了文件读写。由于无法读取到输入而时间超限。
AC | 通过 | Accepted | 样例正确 |
WA | 错误答案 | Wrong Answer | 答案错误 |
RE | 运行时错误 | Runtime Error | 越界等等 |
TLE | 超时 | Time Limit Exceeded | 算法效率低等等 |