也就这样吧(easy)
2023-10-05 22:59:52
发布于:北京
4阅读
0回复
0点赞
include<bits/stdc++.h>
using namespace std;
long long t;
struct loc{
long long x,y,z;
}a[1005];
long long distance(long long x1,long long y1,long long z1,long long x2,long long y2,long long z2){
return pow((x1-x2),2)+pow((y1-y2),2)+pow((z1-z2),2);
}
bool ok,vis[1005];
long long q[1005];
long long n,h,r;
int main(){
scanf("%d",&t);
while(t--){
cin>>n>>h>>r;
for(register int i=1;i<=n;i++){
cin>>a[i].x >>a[i].y >>a[i].z;
vis[i]=0;
}
ok=0;
long long len=0;
for(register int i=1;i<=n;i++){
if(a[i].z - r <=0) q[++len]=i,vis[i]=1;
}
long long id=1;
while(id<=len){
if(a[q[id]].z + r >=h) {
ok=1;
break;
}
for(long long i=1;i<=n;i++){
if(distance(a[q[id]].x,a[q[id]].y,a[q[id]].z,a[i].x ,a[i].y,a[i].z)<=4ll*r*r&&vis[i]==0){
vis[i]=1;
q[++len]=i;
}
}
++id;
}
if(ok) cout<<"Yes\n";
else cout<<"No\n";
}
return 0;
}
这里空空如也
有帮助,赞一个