文栏 - 信息技术 - 浏览文章 - 气死不赔偿之WA原因
气死不赔偿之WA原因
发布时间: 2007/7/18 23:50:44 作者: cissyhope 出处: I.T.S.E.木铎金声论坛
提交程序的时候若是因为算法错/没有考虑到边界条件/时间复杂度太高等原因不通过还算心服口服,可是如果是因为以下原因那就冤死了,都一起来总结这些原因,以避免下次再犯:

1、读数据错误
明明在自己这里读的好好的,可是提交了却是tle。如果题目明显不可能超时的话,那么最大的原因就是多读或者少读了回车,导致没有读到数据结束标志,那就肯定会tle了。

2、编译器不同
FLOYED队血的教训。永远不要说我在某某某处运行是对的。这个问题通常出现在网络赛和在线提交系统。当你的编译器以及操作环境和评委的不同的时候,写程序一定要小心,不要用不规范但是你用习惯了的语句,也不要用$来定义常量。

3、数据定义
如果你认为数据范围定为31就够了的话,写成35你又会损失什么呢?如果你怀疑用long long才能过的话,为什么又一定要用int呢。在条件允许的范围内,小小的可能的浪费会节约你的调试时间和思考时间。

4、未赋初值
一个变量,不管你多么有把握,使用之前,一定要赋初值。就算你觉得不可能出现问题,保险起见,加一条赋值语句,这不会把你程序的复杂度提高一个数量级的。

5、丢三落四
if的情况写了,却忘记写else,这种错误属于低级错误。

6、数字格式不符合要求
是要你四舍五入,还是舍掉尾数,还是统一进位。ceiling,floor,round一定要区别好。

7、超时
不写#include<stdio.h>有可能造成超时。

8、内存错
这个其实不会wa,直接本机运行就有问题了。例如用队列或者堆栈,光顾pop,忘记检查人家是否已经empty了。
1/1页次 第1页
所属分类: 信息技术   所属专题: 他山之石
共有 4723 人次浏览

评论作者:
电子邮件:
评论内容:
投票评价:
验 证 码:
图片包含4个随机字符,点击刷新
请输入上面图片中的随机字符