@[wbs2788](/space/show?uid=71861)
```cpp
for(int m=1;m<j;m++) {
if(dist(tc[m],tc[j])<=2*r*2*r) {
int temp1=find(j),temp2=find(m);
if(temp1!=temp2) {
f[find(j)]=find(m);
break; //????
}
}
}
```
为什么要`break`呢?
by Loner_Knowledge @ 2018-02-08 16:10:14
这一步是要把与这个空洞相连通的空洞相连,`break`干啥,那不就没连完吗?
@[wbs2788](/space/show?uid=71861)
by Loner_Knowledge @ 2018-02-08 16:12:01
@[Loner_Knowledge](/space/show?uid=78044) 十分感谢,不过现在90哈哈哈
by wbs2788 @ 2018-02-08 16:12:57
@[wbs2788](/space/show?uid=71861)
补一个有可能是锅的地方
```cpp
if(f[up[k]]==f[down[j]]) {
yest=true;
break;
}
```
此处用了`f[up[k]]==f[down[j]]`,为什么不是用`find(up[k])==find(down[j])`,这里是要判断联通,应该用`find`吧?
by Loner_Knowledge @ 2018-02-08 16:19:37
@[Loner_Knowledge](/space/show?uid=78044) 我都改了一早上了2333这个早就发现了,估计是忘了存了,谢谢你了。
by wbs2788 @ 2018-02-08 16:21:30
@[Loner_Knowledge](/space/show?uid=78044) 感谢!已ac!
by wbs2788 @ 2018-02-08 16:23:13