type
status
date
Last edited time
slug
summary
tags
category
icon
password
comment
在日常的刷题中,我们总会遇到各种各样的评测结果,那这些结果意味着什么呢?
1 AC

- 程序的输出完全符合题目要求,无论是结果的正确性、输出的格式还是程序的性能,都在规定的时间和内存限制内满足评测标准。
- 代码的逻辑正确,没有语法错误、运行时错误,能够正确处理各种可能的输入,并且输出的结果和正确答案的文本表示完全一致。
2 WA

- 可能是由于代码的算法逻辑错误,导致计算结果错误。例如,在计算过程中使用了错误的公式、处理数据的方式有误,或者在逻辑判断、循环、条件分支等部分出现偏差。
- 边界条件处理不当也可能导致 WA,例如没有考虑到输入为 0、负数、最大值、最小值等特殊情况。
- 还有可能是数据类型的使用不当,如整数溢出、浮点数精度问题,导致最终结果与正确答案有差异。
- 对于需要排序、查找、匹配等操作的程序,可能是算法本身无法正确找到答案,或者排序结果错误。
3 TLE

- 通常是因为程序使用的算法时间复杂度较高,对于大规模的输入数据,程序处理时间过长。例如,使用了两层嵌套的
for
循环遍历二维数组时,如果数据量很大,可能导致性能问题。
- 程序中可能存在冗余的计算,例如多次计算相同的中间结果而没有进行优化。
- 或者代码中存在一些不必要的循环、递归调用,使得程序执行效率低下,无法在规定时间内完成计算任务。
4 MLE

- 可能是因为程序中申请了大量的内存,例如创建了过大的数组、向量、映射或其他数据结构,而这些数据结构所占用的空间超出了内存限制。
- 对于递归函数,当递归深度过大时,可能会占用大量的栈空间,导致栈溢出,从而被判定为 MLE。
- 程序可能存在内存泄漏问题,即动态分配的内存没有正确释放,导致内存占用不断增加,最终超过内存限制。
5 RE

- 常见的原因是数组或指针越界,即访问了超出数组范围的元素,或者使用了未初始化的指针。
- 除以零错误,在程序中进行除法运算时,除数为零会导致运行时异常。
- 栈溢出,除了递归深度过大外,可能是局部变量使用过多,超出了系统分配给程序的栈空间。
- 可能调用了未定义的函数,或者使用了不兼容的库函数,导致程序运行异常。
- 对已释放的内存进行访问或操作,也会导致运行时错误。
6 SE

- 通常不是由程序本身的问题导致的,而是评测系统出现了故障,例如评测机的硬件故障、软件错误、网络问题等。
- 也有可能是因为提交的代码中包含一些特殊字符或代码格式不符合评测系统的要求,导致系统无法正常编译或运行代码,但这种情况相对较少,一般先考虑是评测系统本身的问题。
7 CE

- 代码中存在语法错误,如遗漏分号、括号不匹配、关键字拼写错误等。
- 未正确包含必要的头文件或库文件,导致编译器无法找到相应的函数、类或数据类型。
- 变量或函数的声明错误,例如在使用前未声明,或者重复声明。
- 可能使用了不被支持的语言特性或不兼容的语言版本,导致编译器无法将代码编译成可执行程序。
- 作者:Zyx
- 链接:https://blog-of-zyx.netlify.app//article/17f4957b-7a28-805c-80d7-cd177ffd08bf
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。