看不懂为啥40

P3958 [NOIP2017 提高组] 奶酪

@[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


|