为什么全wa了?
查看原帖
为什么全wa了?
325062
dingyanhao楼主2021/8/1 15:20
#include<iostream>
using namespace std;
long long h,f,r,n;
long long a[1001];
struct boo{
	double x,y,z;
}u[1001];
bool qq(boo a,boo b){
	long long d;
	d=(a.x-b.x)*(a.x-b.x)*(a.y-b.y)*(a.y-b.y)*(a.z-b.z)*(a.z-b.z);
	if(d<=2*2*r*r) return true;
	else return false;
}
void d(int x){
	if(f==1) return;
	if(u[x].z+r>=h){
		f=1;
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(a[i]==1) continue;
		if(qq(u[x],u[i])){
			a[i]=1;
			d(i);
		}
	}
}
int main(){
	int T;
	cin>>T;
	for(int j=1;j<=T;j++) {
		cin>>n>>h>>r;
		f=0;
		for(int i=1;i<=n;i++) a[i]=0;
		for(int i=1;i<=n;i++)
		cin>>u[i].x>>u[i].y>>u[i].z;
		
		for(int i=1;i<=n;i++)
		if(u[i].z<=r){
			a[i]=1;
			d(i);
			//可以剪枝 if(f==1) break; 
		}
		if(f==1) cout<<"yes"<<endl;
		else cout <<"no"<<endl;
	}
	return 0;
}

我太难了

2021/8/1 15:20
加载中...