ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[2017年NOIP提高组] 奶酪

2022-08-23 17:31:38  阅读:179  来源: 互联网

标签:ab return nn NOIP int 奶酪 long ij 2017


函数判断是否相邻:直径与距离

在进行深搜,标记路过的,若不是且相邻,再调用

注意:第一个和底层需独立判断

#include<bits/stdc++.h>
using namespace std;
long long t,n,h,r,i,j,b[1005],falg,bj;
struct ww{
long long x,y,z;
}ab[1005];
bool pd(int a,int b){
long long d=(ab[a].x-ab[b].x)*(ab[a].x-ab[b].x)+(ab[a].y-ab[b].y)*(ab[a].y-ab[b].y)+(ab[a].z-ab[b].z)*(ab[a].z-ab[b].z);
if(r*r*4>=d) return 1;
else return 0;
}
void ss(int nn){
if(ab[nn].z+r>=h){
falg=1;
return;
}
if(bj>=n) return;
for(int j=1;j<=n;j++){
if(pd(nn,j)==1&&b[j]!=0&&nn!=0||(nn==0&&ab[j].z<=r)){
b[j]=0;
bj++;
ss(j);
}
if(falg==1) return;
}
}
int main(){
cin>>t;
for(i=1;i<=t;i++){
bj=0;
cin>>n>>h>>r;
falg=0;
for(int ij=1;ij<=n;ij++){
b[ij]=1;
cin>>ab[ij].x>>ab[ij].y>>ab[ij].z;
}
ss(0);
if(falg==0){
cout<<"No"<<endl;
}
else{
cout<<"Yes"<<endl;
}
}
}

标签:ab,return,nn,NOIP,int,奶酪,long,ij,2017
来源: https://www.cnblogs.com/wangjunlong9948/p/16617107.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有