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 [ ] 数组 保存 父节点,如果 不加 判断条件 的话 ,
那么 就是 相当于 自己指向 了自己 ,在 压缩路径 的那个 函数 中 会出现 死循环 ,找不到 结束条件 (即 树根 )