poj 1523 tarjan求割点
来源:互联网 发布:淘宝上买iphone店铺 编辑:程序博客网 时间:2024/04/30 01:52
题意:求割点,并求割点将原图分成几个连通分量
思路:tarjan算法。如果一个节点(非起始点)从它的一条后向边无法到达任何已然标号的点,则此点为割点。
#include <stdio.h>#include <string.h>#define N 1005int first[N],dfn[N],low[N],res[N],visited[N];struct edge{int y,next;}e[N*N];int root,x,y,T=1,top,index;void init(){top = index = 0;memset(dfn,-1,sizeof(dfn));memset(first,-1,sizeof(first));memset(low,0,sizeof(low));memset(res,0,sizeof(res));memset(visited,0,sizeof(visited));}void add(int x,int y){e[top].y = y;e[top].next = first[x];first[x] = top++;}int min(int a,int b){if(a<b)return a;return b;}void tarjan(int i){int j,num=0;dfn[i] = low[i] = index++;visited[i] = 1;for(j = first[i];j!=-1;j=e[j].next){if(dfn[e[j].y] == -1){tarjan(e[j].y);low[i] = min(low[i],low[e[j].y]);if(low[e[j].y] >= dfn[i] && i!=root)res[i]++;else if(i == root)res[i]++;}elselow[i] = min(low[i],dfn[e[j].y]);}}int main(){freopen("a.txt","r",stdin);while(scanf("%d",&root) && root){int i,flag = 0;init();scanf("%d",&y);add(root,y);add(y,root);scanf("%d",&x);while(x){scanf("%d",&y);add(x,y);add(y,x);scanf("%d",&x);}tarjan(root);res[root]--;printf("Network #%d\n",T++);for(i = 1;i<N;i++)if(res[i]){printf(" SPF node %d leaves %d subnets\n",i,1+res[i]);flag = 1;}if(!flag)printf(" No SPF nodes\n");putchar('\n');}return 0;}
0 0
- poj 1523 tarjan求割点
- POJ 1523 Tarjan求割点
- POJ 1523 Tarjan求割点
- POJ 1523 SPF Tarjan求割点
- POJ 1523:SPF tarjan求割点
- poj 1523 SPF(tarjan求割点)
- POJ 1523 SPF tarjan求割点模板
- 【POJ 1523】SPF(Tarjan求割点)
- tarjan求割点 poj 1144
- poj 1523 SPF (tarjan)
- POJ 1523 SPF(Tarjan)
- [poj 1144]Network[Tarjan求割点]
- Poj 1144 Network【Tarjan求割点】
- 【tarjan双连通求割点&连通分量】POJ 1523
- POJ 1523 SPF tarjan算法入门
- Poj 1523 SPF(割点 + tarjan算法)
- POJ 1523 / ZOJ 1119 - Tarjan算法
- POJ-1523 SPF (割点[Tarjan])
- C/C++与Matlab混合编程初探
- 编程算法 - 圆圈中最后剩下的数字(递推公式) 代码(C++)
- UVA 23 out of 5
- A. DZY Loves Hash
- Windows中.exe程序的启动过程和C/C++运行时库
- poj 1523 tarjan求割点
- 由《小道消息 • 思维偏误》说开来。
- MATLAB 与 PostgreSQL 数据库的连接
- poj-1961-Period
- 一个microsoft的.exe程序文件的启动过程 .
- UVALive 6469 Deranged Exams 组合数学+容斥原理
- 思考,领悟,前进
- 【阅读】《Head First Servlets & JSP》第九章——强大的定制标记
- 小甲鱼老师目前所有视频教程下载地址