测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
B74

程序测试与评测结果

引入

章前总览 写完程序先用样例测;样例过了不等于一定对。还要会读 OJ 返回的 AC、WA、TLE 等缩写。

三块内容:

  • 用样例测,自己再拟数据
  • 评测系统常见结果
  • 结果不对时先做什么

1 程序测试

样例帮助理解题意、核对格式,也是第一轮测试数据。

怎么测

  • 运行程序,输入样例,看输出是否与样例一致。
  • 可复制粘贴样例输入,少打字。
  • 样例通过 ≠ 程序一定正确(尤其稍复杂的题)。
  • 考试/部分竞赛提交后不反馈时,更要自己拟数据验证。

自己拟测试数据

  • 边界:范围给出 [100,10000] 就试 100 和 10000。
  • 特殊:与题意相关的奇数/偶数/质数/某数倍数等。
  • 大数据有时无法手算标准答案,这时也不容易判断对错。

2 评测系统反馈

提交后常见结果(记住缩写):

对照表

  • AC Accepted:通过。
  • CE Compile Error:编译出错。
  • TLE Time Limit Exceeded:超时。
  • MLE Memory Limit Exceeded:超内存。
  • OLE Output Limit Exceeded:输出过多(可能死循环)。
  • PE Presentation Error:格式问题(空格、空行等)。
  • RTE RunTime Error:运行时错误(除零、越界等)。
  • WA Wrong Answer:答案错误。

3 结果不对怎么办

能编译但输出错时,常用三步:

排查顺序

  • 逐行对照自己的思路;复制来的代码是否改全。
  • 在关键位置临时 cout 关键变量(循环里尤其有用);提交前删掉或注释。
  • 仍找不到 → 用 IDE 调试(下一节)。
小结

测试口诀:

先样例 → 再边界/特殊
看缩写 → CE/WA/TLE/RTE…
仍不对 → 加输出或调试
里程碑达成:

下一节:断点、单步调试,以及质数判定排错案例。