runtime error 的原因

1.  数组访问越界

2.  分母为 0

3.   括号

做题时偶然发现的!

(详见 UVA 10158 War

代码中出现了这种东西

else if( arefriends(x,y==-1 )

正确代码应该为

else if( arefriends(x,y)==-1 )

4.  死循环 

刚刚又发现一个,真“倒霉”,都让我碰见了

(详见   POJ 2236 Wireless Network


if(x!=y)//--------此处这个判断千万不能少,否则出现死循环,提交会出现runtime error
set[x]=y;

这道题 是 树 的并查集 的 题目,

由于 这里 的 set [ ] 数组  保存 父节点,如果 不加 判断条件 的话 ,

那么 就是 相当于 自己指向 了自己 ,在 压缩路径 的那个  函数 中 会出现 死循环 ,找不到 结束条件 (即 树根 )







posted @ 2014-07-29 11:18  gongpixin  阅读(553)  评论(0编辑  收藏  举报