B74
程序测试与评测结果
引入
章前总览 写完程序先用样例测;样例过了不等于一定对。还要会读 OJ 返回的 AC、WA、TLE 等缩写。
三块内容:
- 用样例测,自己再拟数据
- 评测系统常见结果
- 结果不对时先做什么
1 程序测试
样例帮助理解题意、核对格式,也是第一轮测试数据。
怎么测
- 运行程序,输入样例,看输出是否与样例一致。
- 可复制粘贴样例输入,少打字。
- 样例通过 ≠ 程序一定正确(尤其稍复杂的题)。
- 考试/部分竞赛提交后不反馈时,更要自己拟数据验证。
自己拟测试数据
- 边界:范围给出 [100,10000] 就试 100 和 10000。
- 特殊:与题意相关的奇数/偶数/质数/某数倍数等。
- 大数据有时无法手算标准答案,这时也不容易判断对错。
2 评测系统反馈
提交后常见结果(记住缩写):
对照表
ACAccepted:通过。CECompile Error:编译出错。TLETime Limit Exceeded:超时。MLEMemory Limit Exceeded:超内存。OLEOutput Limit Exceeded:输出过多(可能死循环)。PEPresentation Error:格式问题(空格、空行等)。RTERunTime Error:运行时错误(除零、越界等)。WAWrong Answer:答案错误。
3 结果不对怎么办
能编译但输出错时,常用三步:
排查顺序
- 逐行对照自己的思路;复制来的代码是否改全。
- 在关键位置临时
cout关键变量(循环里尤其有用);提交前删掉或注释。 - 仍找不到 → 用 IDE 调试(下一节)。
小结
测试口诀:
先样例 → 再边界/特殊
看缩写 → CE/WA/TLE/RTE…
仍不对 → 加输出或调试
✓
里程碑达成:
下一节:断点、单步调试,以及质数判定排错案例。