uva315(求割点模板题)
来源:互联网 发布:中国cpi数据分析 编辑:程序博客网 时间:2024/06/05 23:39
题目大意:让你求割点数目
直接上模板。。
题目链接
#include<cstdio>#include<cstring>#include<iostream>#include<vector>#include<algorithm>using namespace std;const int mx = 105;vector<int>G[mx];int low[mx],pre[mx],dfn,cut;bool iscut[mx];int n;void init(){ for(int i = 1; i <= n; i++) G[i].clear(); memset(low,0,sizeof(low)); memset(pre,0,sizeof(pre)); memset(iscut,0,sizeof(iscut)); dfn = 0,cut = 0;}void dfs(int u,int fa){ low[u] = pre[u] = ++dfn; int child = 0; for(int i = 0; i < G[u].size(); i++){ int v = G[u][i]; if(!pre[v]){ dfs(v,u); child++; low[u] = min(low[u],low[v]); if(low[v] >= pre[u]) iscut[u] = true; } else if(v != fa){ low[u] = min(low[u],pre[v]); } } if(fa < 0 && child == 1) iscut[u] = 0;}int main(){ while(scanf("%d",&n)&&n){ int u,v; init(); while(scanf("%d",&u)&&u){ while(getchar()!='\n'){ scanf("%d",&v); G[u].push_back(v); G[v].push_back(u); } } dfs(1,-1); int ans = 0; for(int i = 1; i <= n; i++) if(iscut[i]) ans++; printf("%d\n",ans); } return 0;}
阅读全文
0 0
- uva315(求割点模板题)
- UVA315-Network(求割点个数,模板题)||tarjan
- UVA315 Network(tarjan求割点)
- UVA315---Network(连通性问题:求割点)
- uva315/poj1144 network 求割点
- uva315 Network 【tarjan-求割点】
- uva315
- uva315
- UVA315 && UVA 796 (求割点和桥,模版)
- UVa315 - Network
- UVA315-Network
- UVA315 Network
- UVA315- Network(无向图割点)
- uva315 Network 【图论-tarjan-求桥】
- tarjan算法的学习 uva12167,uva315,uva796
- 【模板】三分法 (模板题:洛谷P3382)
- 树链剖分模板题(luogu3384 【模板】树链剖分)
- POJ1144Network(求割点模板题)
- redis的安装
- linux日常小细节整理
- Python的坑(4) -- 【if x:】的含义
- Android_01
- 2.SpringBoot系列-SpringBoot整合MyBatis
- uva315(求割点模板题)
- 全排列 递归实现 c 语言实现
- Python练习题 10-2 C语言学习笔记
- Android常用控件
- 26岁纪念-洗牙
- AtCoder Beginner Contest 063
- Ubuntu初入门
- react-native navigation的学习与使用
- Android常用控件