HDU_4183_Pahom on Water
来源:互联网 发布:mac刷新dns 编辑:程序博客网 时间:2024/06/06 03:40
问有无从400.0到789.0的无重复点回路。
求400.0和789.0这两个点是否在同一个双连通分量里即可。
Memory:336KTime:0ms#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cmath>using namespace std;const double eps=1e-8;const int N=310;struct Point{double f,x,y,r;}po[310];struct Edge{Edge(int a,int b){u=a,v=b;}int u,v;};int n,a,b;int vis[N],pre[N],bccno[N],num,cnt;vector<int> G[N],bcc[N];stack<Edge> s;int DFS(int u,int fa){int lowu=pre[u]=++num;for(int i=0;i<G[u].size();++i) {int v=G[u][i];Edge e=Edge(u,v);if(!pre[v]) {s.push(e);int lowv=DFS(v,u);lowu=min(lowu,lowv);if(lowv>=pre[u]) {++cnt;bcc[cnt].clear();for(;;) {Edge x=s.top();s.pop();if(bccno[x.u]!=cnt) bccno[x.u]=cnt;if(bccno[x.v]!=cnt) bccno[x.v]=cnt;if(x.u==u&&x.v==v) break;}}}else if(pre[v]<pre[u]&&v!=fa) {s.push(e);lowu=min(lowu,pre[v]);}}return lowu;}void find_bcc(){memset(pre,0,sizeof pre);memset(bccno,0,sizeof bccno);num=cnt=0;for(int i=1;i<=n;++i)if(!pre[i]) DFS(i,-1);}void addedge(int i){ vis[i]=1; for(int j=1;j<=n;++j) { if(i==j) continue; if(sqrt((po[i].x-po[j].x)*(po[i].x-po[j].x) +(po[i].y-po[j].y)*(po[i].y-po[j].y))>(po[i].r+po[j].r)) continue; if(fabs(po[j].f-po[i].f)<eps) continue; if(po[j].f<po[i].f) continue; G[i].push_back(j); G[j].push_back(i); if(!vis[j]) addedge(j); }}int main(){int _;scanf("%d",&_);while(_--) {scanf("%d",&n);for(int i=1;i<=n;++i) {scanf("%lf%lf%lf%lf",&po[i].f,&po[i].x,&po[i].y,&po[i].r);if(fabs(po[i].f-400)<eps) a=i;else if(fabs(po[i].f-789)<eps) b=i;}for(int i=0;i<=n;++i) G[i].clear();memset(vis,0,sizeof vis);addedge(a);find_bcc();if(bccno[a]==bccno[b]&&bccno[a]!=0) printf("Game is VALID\n");else printf("Game is NOT VALID\n");}}
- HDU_4183_Pahom on Water
- HDU_4183_Pahom on Water(最大流)
- Pahom on Water HDU
- HDU 4183 Pahom on Water
- hdu 4183 Pahom on Water(最大流)
- hdu 4183 Pahom on Water 网络流
- hdu 4183 Pahom on Water 最大流
- HDU 4183 Pahom on Water 最大流
- Analysis on “Container With Most Water ”
- HDU4183 Pahom on Water(最大流)
- hdu 4183 Pahom on Water (最大流)
- Water
- WATER
- Water+
- water
- 49 U.S. Scientists Confirm Water on Mars
- UVAlive 6157 How do spiders walk on water?
- HDOJ 4183 - Pahom on Water 拆点最大流
- CentOS 安装 MPlayer过程
- Oracle DB 使用RMAN创建备份2
- 黑马程序员_<<properties,打印流,合并流,分割流>>
- 一个80后程序员的转行创业日记1
- 【PHP框架CodeIgniter学习】Helloworld
- HDU_4183_Pahom on Water
- Android远程代理对象BpSurface的获取过程源码分析
- 鼠鼠百科--数据恢复
- 1.LED流水灯分析
- os如何进程隔离
- MyEclipse添加Spket控件
- 邓仲祥:祖国,我们为你守望
- vb.net的using用法
- 代码版本管理-Git学习笔记(1)