I AK IOI
  • 板块灌水区
  • 楼主cmpt_xiaoxiao
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/8/8 16:24
  • 上次更新2024/8/8 16:27:31
查看原帖
I AK IOI
954694
cmpt_xiaoxiao楼主2024/8/8 16:24

求条

可爱小红题奶酪

50pts WA code:

#include<iostream>
#include<cmath>
#include<cstring>
#define int long long
using namespace std;
int t,n,h,x,y,z;
double r;
struct holl{
    int x,y,z;
};
holl a[1001];
bool vis[1001];
bool f;
void dfs(int x){
    if(a[x].z+r>=h){
        f=1;
        return;
    }
    vis[x]=1;
    for(int i=1;i<=n;i++){
        double x1=a[x].x*1.0,x2=a[i].x*1.0;
        double y1=a[x].y*1.0,y2=a[i].y*1.0;
        double z1=a[x].z*1.0,z2=a[i].z*1.0;
        double a1=x1*1.0-x2*1.0,a2=y1*1.0-y2*1.0,a3=z1*1.0-z2*1.0;
        if(!vis[i]&&double(sqrt(a1*a1*1.0+a2*a2*1.0+a3*a3*1.0))<=r*2.0) dfs(i);
    }
}
main(){
	int t;
	cin>>t;
	while(t--){
	    f=0;
	    bool s=0;
	    cin>>n>>h>>r;
	    for(int i=1;i<=n;i++){
	        cin>>x>>y>>z;
	        a[i].x=x;
	        a[i].y=y;
	        a[i].z=z;
	        if(z-r<=0) s=1;
	    }
	    if(s) dfs(1);
	    memset(vis,0,sizeof(vis));
	    if(s==0) cout<<"No"<<endl;
	    else if(f) cout<<"Yes"<<endl;
	    else cout<<"No"<<endl;
	}
	return 0;
}
2024/8/8 16:24
加载中...