栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2588 Snakes

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2588 Snakes

#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<queue>#include<cmath>#include<iostream>#define FOR(i,a,b) for(int i=(a);i<=(b);i++)#define FORd(i,a,b) for(int i=(a);i>=(b);i--)using namespace std;typedef long long LL;const int N=2000;const double eps=1e-7;double x[N],y[N],r[N];bool kind=false;double lu=1000,ru=1000;int ki[N],n;void dfs(int v){  double t;  ki[v]=1;  if(y[v]<r[v]-eps)kind=true;  if(x[v]<r[v]-eps){    t=sqrt(r[v]*r[v]-x[v]*x[v]);    if(y[v]-t<lu)lu=y[v]-t;  }  if(1000-x[v]<r[v]-eps){    t=1000-x[v];    t=sqrt(r[v]*r[v]-t*t);    if(y[v]-t<ru)ru=y[v]-t;  }  FOR(i,1,n){    if(!ki[i])    if( sqrt((x[v]-x[i])*(x[v]-x[i])+(y[v]-y[i])*(y[v]-y[i]))<r[v]+r[i]-eps )    dfs(i);  }}int main(){  scanf("%d",&n);  FOR(i,1,n){    scanf("%lf%lf%lf",&x[i],&y[i],&r[i]);  }  FOR(i,1,n){    if(1000-y[i]<r[i]-eps)dfs(i);  }  if(!kind)printf("Bill enters at (0.00, %.2f) and leaves at (1000.00, %.2f).n",lu,ru);  else printf("Bill will be bitten.n");}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381443.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号