记录编号 |
500384 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2017]奶酪 |
最终得分 |
100 |
用户昵称 |
梦那边的美好ET |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.730 s |
提交时间 |
2018-07-12 14:21:22 |
内存使用 |
0.21 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int t;
long long n,h,r,d[1001],ld,x[1001],y[1001],z[1001];
bool bk[1001];
int hs(int a1,int a2){
if(((x[a1]-x[a2])*(x[a1]-x[a2])+(y[a1]-y[a2])*(y[a1]-y[a2])+(z[a1]-z[a2])*(z[a1]-z[a2]))<=4*r*r)
return 1;
return 0;
}
int main(){
freopen("2017cheese.in","r",stdin);
freopen("2017cheese.out","w",stdout);
cin>>t;
for(int k=1;k<=t;k++){
cin>>n>>h>>r;
ld=0;
int l=1,ju=0;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i]>>z[i];
bk[i]=d[i]=0;
}
for(int i=1;i<=n;i++){
if(z[i]<=r){
ld+=1;
d[ld]=i;
bk[i]=1;
if((h-z[i])<=r){
ju=1;
break;
}
}
}
if(ju!=1){
while(l<=ld){
for(int i=1;i<=n;i++){
if(bk[i]==0&&hs(d[l],i)){
ld+=1;
d[ld]=i;
bk[i]=1;
if((h-z[i])<=r){
ju=1;
break;
}
}
}
if(ju==1)break;
l+=1;
}
}
if(ju==0)cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
return 0;
}