80pts & WA on #1#2
for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){
if(i==j)continue;
if(coord[i].z-r<=0&&coord[j].z+r>=h&&find_bcj(i)==find_bcj(j)){cout<<"Yes\n";goto k;}
}
注意 n=1 的情况,此时使用 if(i==j)continue; 后无法判断单个点是否同时联络了上表面和下表面,需要删除。
in:
5
1 100 60
70 27 88
1 100 75
80 39 34
1 100 50
605 563 50
1 200 160
120 176 40
1 200 10
50 47 84
out:
No
Yes
Yes
Yes
No