可能出现的情况
一般TLE出现的情况有以下几种:
死循环。死循环指程序在循环体内一直执行而不跳出循环。以C++为例,在程序中如果出现了while语句,并且一直符合条件(如while(1){})且没有跳出语句,就会出现死循环。
算法效率较低(时间复杂度过高)。对于某一数据范围,算法的时间复杂度不能保证在规定时间内完成计算,导致超出题目的时间限制。
常数较大。一般来说,在算法的时间复杂度符合题目要求的情况下,一些程序由于各种原因(如利用了常数巨大的数据结构如平衡树)导致程序的计算量在时间复杂度不变的情况下增大。在某些卡常数的题中就会导致时间超限。
在OJ评测时加入了文件读写。由于无法读取到输入而时间超限。
其他术语
AC(Accepted=答案正确)
WA(Wrong Answer=答案错误)
TLE(Time Limit Exceeded=运行超时/时间超限)
CE(Compile Error=编译错误)
RE(Runtime Error=运行时出错)
MLE(Memory Limit Exceeded=内存超限)
PE(Presentation Error=格式错误)