UVA 796 Critical Links (桥)
来源:互联网 发布:淘宝助理密码错误 编辑:程序博客网 时间:2024/05/17 23:38
题意:
给出一张无向图,按顺序输出图中的桥
套模版搞搞,熟悉一下桥
#include<cstring>#include<string>#include<iostream>#include<queue>#include<cstdio>#include<algorithm>#include<map>#include<cstdlib>#include<cmath>#include<vector>//#pragma comment(linker, "/STACK:1024000000,1024000000");using namespace std;#define INF 0x3f3f3f3f#define maxn 200004int lay,dfn[maxn],low[maxn];int fir[maxn],nex[maxn],v[maxn],e_max;void init(){ memset(fir,-1,sizeof fir); e_max=0;}void add_edge(int s,int t){ int e=e_max++; v[e]=t; nex[e]=fir[s]; fir[s]=e;}struct node{ int x,y; friend bool operator < (node A, node B) { if(A.x==B.x) return A.y<B.y; return A.x<B.x; } friend bool operator == (node A,node B) { if(A.x==B.x&&A.y==B.y) return true; if(A.x==B.y&&A.y==B.x) return true; return false; }};vector<node>ans;void tarjandfs(int k,int pre){ dfn[k]=++lay; low[k]=dfn[k]; int son=0; for(int i=fir[k];~i;i=nex[i]) { int e=v[i]; if(e==pre) continue; if(!dfn[e]) { son++; tarjandfs(e,k); if(low[k]>low[e]) low[k]=low[e]; if(low[e]>dfn[k]) { node temp; temp.x=k; temp.y=e; if(temp.x>temp.y) swap(temp.x,temp.y); ans.push_back(temp); } } else low[k]=min(low[k],dfn[e]); }}void tarjan(int n){ ans.clear(); lay=0; memset(dfn,0,sizeof fir); for(int i=0;i<n;i++) { if(!dfn[i]) tarjandfs(i,i); } sort(ans.begin(),ans.end()); ans.erase(unique(ans.begin(),ans.end()),ans.end()); printf("%d critical links\n",ans.size()); for(int i=0;i<ans.size();i++) { printf("%d - %d\n",ans[i].x,ans[i].y); } puts("");}int main(){ int n; while(scanf("%d",&n)!=EOF) { init(); for(int i=0;i<n;i++) { int st,l; scanf("%d (%d)",&st,&l); for(int j=0;j<l;j++) { int a; scanf("%d",&a); add_edge(st,a); } } tarjan(n); } return 0;}
0 0
- UVA 796 Critical Links (桥)
- UVA 796 Critical Links(求桥)
- UVA 796 Critical Links
- UVA 796 Critical Links
- UVA 796 - Critical Links (求桥按序输出)
- UVA 796 - Critical Links (求桥,模板题)
- UVA 796 - Critical Links【求桥】
- UVA 796 Critical Links 求桥 .
- Uva 796 Critical Links 【求桥模板记录】
- UVA 796 Critical Links(无向图求桥)
- UVA 796 Critical Links (求无向图的桥)
- UVa 796 Critical Links(无向图求割边)
- UVA 796 Critical Links(Tarjan求割边)
- UVA 796 Critical Links(Tarjan求无向图中的桥)
- uva 796 Critical Links 割边的数量
- Critical Links(连通图 桥)
- LightOJ - 1026 Critical Links(桥)
- 796 Critical Links( 求无向图中的桥--模板)
- 数据结构与算法JavaScript - 队列
- FragmentPagerAdapter实现分页
- pip install 卡住不动的解决方案
- Spring上下文ContextLoaderListener作用
- Java对象的深复制和浅复制
- UVA 796 Critical Links (桥)
- CodeForces 288C
- 基于JIRE做的一个项目度量平台
- Mongodb 3节点 Rep set +sharding 配置
- DataSetToJSON
- 专访程炳皓:八年一觉“开心”梦
- flex布局详解
- 指针数组
- 使用腾讯TAB做成的第一个demo