poj1144--D - Network(连通分量,割点)
来源:互联网 发布:交易师炒股软件下载 编辑:程序博客网 时间:2024/05/16 14:15
给出n个点,还有点u连接的边,求解有多少割点
注意,对于根来说,只有子树大于一个才会是割点。
#include <cstdio>#include <cstring>#include <algorithm>#include <stack>using namespace std;#define maxn 120struct node{ int u , v ; int next ;} edge[1000000];int head[maxn] , cnt , vis[1000000] ;int dnf[maxn] , low[maxn] , time , ans , flag[maxn] , num ;stack <int> sta;void add(int u,int v){ edge[cnt].u = u ; edge[cnt].v = v ; edge[cnt].next = head[u] ; head[u] = cnt++ ; edge[cnt].u = v ; edge[cnt].v = u ; edge[cnt].next = head[v] ; head[v] = cnt++ ;}void tarjan(int u){ dnf[u] = low[u] = ++time ; int v , i , j ; for( i = head[u] ; i != -1 ; i = edge[i].next ) { if( vis[i] ) continue ; if(u == 1) num++ ; vis[i] = vis[ i^1 ] = 1 ; v = edge[i].v ; if( !dnf[v] ) { sta.push(i) ; tarjan(v) ; low[u] = min( low[u],low[v] ); if( low[v] >= dnf[u] && !flag[u]) { ans++ ; flag[u] = 1 ; } } else if( dnf[v] < dnf[u] ) { sta.push(v) ; low[u] = min( low[u],dnf[v] ); } }}int main(){ int n , m , u , v ; char ch ; while(scanf("%d", &n) && n) { memset(head,-1,sizeof(head)); memset(vis,0,sizeof(vis)); memset(dnf,0,sizeof(dnf)); memset(low,0,sizeof(low)); memset(flag,0,sizeof(flag)) ; cnt = time = ans = num = 0 ; while(scanf("%d", &u) && u) { while(scanf("%d%c", &v, &ch) ) { add(u,v); if(ch == '\n') break; } } while( !sta.empty() ) sta.pop(); tarjan(1); if(num == 1) ans--; printf("%d\n", ans); } return 0;}
0 0
- poj1144--D - Network(连通分量,割点)
- POJ1144 Network(判断割点)
- poj1144 Network(割顶)
- 强连通分量(割点)
- poj1523 割点+连通分量
- 割点、割边、强连通分量
- POJ1144-Network(割顶模板题)
- POJ1144.Network——无向图的割点
- 强连通图_割点_割边(桥)_双向连通分量关系
- poj1144 割点模板
- 点连通分量+边连通分量+割点和桥+强连通分量
- POJ 1523 SPF(割点所割连通分量数)
- POJ 1523 SPF(割点所割连通分量数)
- POJ 1523 SPF(割点所割连通分量数)
- 【连通图|割点】POJ-1144 Network
- poj1144——割点
- 割点和桥 poj1144
- Tarjan找桥和割点与点连通分量与边连通分量【未成形】
- spring jpa的学习链接
- hadoop权威指南第四章StreamCompressor程序的运行方法与问题总结
- ORACLE SQL优化事项
- Gesture(手势旋转图片,缩放图片,touch图片处理相关事件)
- 冰桶算法,优质资源稳守宝座
- poj1144--D - Network(连通分量,割点)
- Android开发Bitmap在Native层与Java层内存的两种生成方式
- 项目中接口定义不可少
- vision引擎中地形着色器介绍
- C++ primer笔记——第九章 顺序容器
- Android布局中实现仿微信的圆角边框
- java屏蔽非法字符
- hdu2852——KiKi's K-Number
- xampp+apache+php:局域网中访问网站配置过程