NOJ常见错误及解决

本文根据自身目前经验和同学遇到的问题,总结了NOJ做题中经常遇到的错误及相应的解决方法。

遇到不同错误提示,可按照编号顺序逐个快速排查。

WA

  1. 输出格式错误:仔细检查样例要求的输出格式,是否多输出或少输出;多输出内容应该是OE,但目前都会提示为WA。
  2. 算法错误:寻找部分样例进行测试;主要为算法未能实现题目求解目标,还包括输入读取错误(不能正确读取题目输入格式,未考虑输入范围)、需要初始化的变量未初始化、输入或输出的格式化符不匹配、类型错误等等。
  3. 未考虑极端值:测试可能出现的极端值,如可能导致除0模0运算、部分特殊值会让算法失效等等。
  4. 越界:以上错误均排除后,题目未给出输入范围,较小样例时均正确,则考虑为变量越界。

CE

  1. 语法错误(你可能需要一个好的IDE):CB好多语法错误不会报错。
  2. 头文件缺失:检查调用的库函数和宏。
  3. 非标准用法:如引入了非标准库。(见过一位同学的代码居然用了windows.h
  4. 堆栈溢出:如递归过深、在函数中开大数组;正常应该是ME,但目前部分提示为CE。
  5. 死循环:调试循环结构;正常应该是TE,但目前部分提示为CE。
  6. 内存泄漏:错误使用指针。
  7. 调用受限函数:如反复调用rand( )时未使用srand(time(NULL)),非常少见。

RE

  1. 访问非法内存:如数组越界、调用野指针、访问系统保留内存等。
  2. 堆栈溢出:同前;正常应该是ME,但目前部分提示为RE。
  3. 内存泄漏:同前。
  4. 死循环:同前;正常应该是TE,但目前部分提示为RE。
  5. 模0或除0:目前都提示为WA。

TE

  1. 死循环
  2. 算法需要优化:估算算法的时间复杂度,通常情况下OJ时间判断标准大概如下(以1000ms为例):
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值