bsoj2989 tarjan求桥——图论基础
来源:互联网 发布:mac os sierra怎么升级 编辑:程序博客网 时间:2024/06/16 06:45
看的刘汝佳的代码写的
似乎还是没有理解的很透彻啊。。。。
今天似乎这是第7个题了,还有4个题就进前150名了!
不知道今天还能刷几个图论的水题,就算是打基础吧。。。。
话说今天感觉我生物化学落的有点远了,有必要复习一下。。。
#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#define MAX 190using namespace std;struct wbysr{int from,to;}ans[4009];int n,m,dfs=0,num=0;int map[MAX][MAX],low[MAX],dfn[MAX];int tarjan(int x,int fa){dfn[x]=low[x]=++dfs;int child=0;for(int i=1;i<=n;i++)if(map[x][i]){if(!dfn[i]){child++;low[i]=tarjan(i,x);low[x]=min(low[x],low[i]);if(low[i]>dfn[x]){num++;ans[num].from=min(x,i);ans[num].to=max(x,i);}}else{if(i!=fa)low[x]=min(low[x],dfn[i]);}}//if(fa<0&&child==1)//num--;return low[x];}bool cmp(wbysr a1,wbysr a2){return(a1.from<a2.from||(a1.from==a2.from&&a1.to<a2.to));}int main(){scanf("%d%d",&n,&m);memset(map,0,sizeof(map));for(int i=1;i<=m;i++){int a1,a2;scanf("%d%d",&a1,&a2);map[a1][a2]=1;map[a2][a1]=1;}tarjan(1,-1);sort(ans+1,ans+num+1,cmp);for(int i=1;i<=num;i++)printf("%d %d\n",ans[i].from,ans[i].to);return 0;}
0 0
- bsoj2989 tarjan求桥——图论基础
- 浅谈Tarjan——5(用Tarjan求LCA)
- tarjan算法求桥
- Zoj 2588 tarjan求桥
- hdu4738 Caocao's Bridges 无向图 tarjan 求桥
- poj3694 Network 无向图tarjan求桥+LCA
- hdu4738Caocao's Bridges tarjan求无向图的桥
- hdoj 4738 tarjan求无向图的桥
- Tarjan求无向图桥和割点
- 不是图论 【tarjan求scc】+【缩点】
- Tarjan——求有向图的强连通分量
- poj1523—SPF(tarjan算法求无向图中所有的割点)
- 求强连通分量——Tarjan、Kosaraju算法
- Tarjan算法的学习——求强连通分量
- 算法基础 - 求有向图的强连通分支(Tarjan算法)
- HDU 4738 浅谈无向图边双连通求TarJAn求桥及如何“炸桥”
- poj3177-tarjan求桥/割边
- HDU 2460 Network 求桥(tarjan)+LCA
- 使用MFC串行化保存程序数据
- 黑马程序员《java基础总结(五)》(异常、包)
- 学校感悟之 - 文献检索
- 变色龙设置默认启动分区
- HDU 1060 Leftmost Digit
- bsoj2989 tarjan求桥——图论基础
- android 笔记 --- 位图和矢量图区别
- centos下安装git
- How to open Firefox and chrome from command line
- 十七周周赛小节
- java学习笔记11
- GreenDroid,一款增强型的 Android UI 库
- 哪些应用程序不能安装在外部存储器上
- LED 驱动程序