UVa11853 - Paintball
来源:互联网 发布:巨人网络借壳上市过程 编辑:程序博客网 时间:2024/05/19 13:26
#include<queue>#include<cmath>#include<cstring>#include<cstdio>using namespace std;const int maxn=1000+10;const double w=1000;struct Ball{ double x,y,r; Ball(double x=0,double y=0,double r=0):x(x),y(y),r(r){}}ball[maxn];double lft,rht;int n;bool vis[maxn];bool intersect(int a,int b){ return ball[a].r+ball[b].r>=sqrt((ball[b].x-ball[a].x)*(ball[b].x-ball[a].x)+(ball[b].y-ball[a].y)*(ball[b].y-ball[a].y));}void check_cycle(int u){ if(ball[u].x-ball[u].r<0) { lft=min(lft,ball[u].y-sqrt(ball[u].r*ball[u].r-ball[u].x*ball[u].x)); } if(ball[u].x+ball[u].r>w) { rht=min(rht,ball[u].y-sqrt(ball[u].r*ball[u].r-(w-ball[u].x)*(w-ball[u].x))); }}bool dfs(int u){ if(vis[u]) return false; vis[u]=true; if(ball[u].y-ball[u].r<0) return true; for(int i=0;i<n;i++) { if(intersect(i,u)&&dfs(i)) return true; } check_cycle(u); return false;}int main(){ while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) { scanf("%lf%lf%lf",&ball[i].x,&ball[i].y,&ball[i].r); } lft=rht=w; bool flag=false; memset(vis,false,sizeof(vis)); for(int i=0;i<n;i++) { if(ball[i].y+ball[i].r>=w&&dfs(i)) { flag=true;break; } } if(flag) printf("IMPOSSIBLE\n"); else printf("0.00 %.2f 1000.00 %.2f\n",lft,rht); } return 0;}
0 1
- UVa11853 - Paintball
- DFS--uva11853 Paintball
- UVA11853(DFS)
- 11853 - Paintball
- Paintball UVA
- 例题6-22 战场 UVa11853
- Uva - 11853 - Paintball
- [UVA 11853]Paintball[DFS]
- UVa 11853 PaintBall
- uva 11853 Paintball
- UVA 11853 Paintball
- UVA 11853 - Paintball(dfs)
- UVa 11853 - Paintball <图论+DFS>
- UVa 11853 - Paintball(DFS)
- Paintball(dfs判断连通)
- uva11853 图 范围节点的处理和遍历
- uva 11853 Paintball dfs找连通块
- 例题6-22 UVA 11853 Paintball 战场
- C#实例化类的详细介绍
- 阿里云服务器安装wdcp面板和SVN服务器,以及实现同步更新web根目录
- 手机屏幕窗口抖动的实现
- mysql字符函数
- 如何成为一个专业级的c++ 程序员--- An answer from quora
- UVa11853 - Paintball
- [转载]php文件后边自动加&PHPSESSID=ee2cb583e0b94bad4782ea
- int main(int argc,char *argv[])详解
- C 位域
- malloc、realloc和calloc的区别
- 【C/C++学院】(27)项目实战HttpServer--原理分析
- 数据挖掘---Lasso算法简介
- iOS App提交指南-协议、税务和银行业务
- SlidingMenu使用实例