UVA 315 Network (割点)
来源:互联网 发布:网络感情骗术 台湾 编辑:程序博客网 时间:2024/06/04 23:36
计算割点的个数
#include<iostream>#include<math.h>#include<stdio.h>#include<algorithm>#include<string.h>#include<vector>#include<queue>#include<map>#include<set>using namespace std;#define B(x) (1<<(x))typedef long long ll;void cmax(int& a,int b){ if(b>a)a=b; }void cmin(int& a,int b){ if(b<a)a=b; }const int oo=0x3f3f3f3f;const int MOD=1000000007;const int maxn=10005;const int maxm=110000;struct EDGE{ int v,next,c,f;}E[maxm];int head[maxn],tol;int low[maxn],dfn[maxn];int iscut[maxn];int g_cnt;void Init(){ memset(head,-1,sizeof head); tol=0; memset(low,0,sizeof low); memset(dfn,0,sizeof dfn); memset(iscut,0,sizeof iscut); g_cnt=0;}void add_edge(int u,int v){ E[tol].v=v; E[tol].next=head[u]; head[u]=tol++;}void Tarjan(int u,int pre){ dfn[u]=low[u]=++g_cnt; int son=0; for(int i=head[u];i!=-1;i=E[i].next){ int v=E[i].v; if(v==pre)continue; if(!dfn[v]){ son++; Tarjan(v,u); if(low[v]<low[u]) low[u]=low[v]; if(u!=pre&&low[v]>=dfn[u]){ iscut[u]=1; } }else if(dfn[v]<low[u]) low[u]=dfn[v]; } if(u==pre&&son>1)iscut[u]=1;}int main(){ //freopen("E:\\read.txt","r",stdin); int n,u,v; char c; while(scanf("%d",&n)!=EOF){ if(n==0)break; Init(); while(scanf("%d",&u)&&u){ while(scanf("%d%c",&v,&c)){ add_edge(u,v); add_edge(v,u); if(c=='\n')break; } } for(int i=1;i<=n;i++) if(!dfn[i]) Tarjan(i,i); int ans=0; for(int i=1;i<=n;i++) ans+=iscut[i]; printf("%d\n",ans); } return 0;}/*42 1 22 1 22 2 32 3 41 2 3 4*/
0 0
- UVA 315 Network (割点)
- uva 315 Network 割点
- UVA 10765 (割点)
- 【割点】UVA
- [PKU 1144]Network(割点)
- POJ 1144 Network //割点
- Poj 1144 Network (割点)
- POJ 1144 Network【割点】
- UVA 315 - Network (求割点数模板题)
- UVA 1660 Cable TV Network [最小割] [图的连通度] [拆点]
- poj 1144 Network(割点)
- POJ1144 Network(判断割点)
- poj 1144 Network (割点)
- poj 1144 Network (割点模板)
- 【连通图|割点】POJ-1144 Network
- 【POJ 1144】 Network(割点入门)
- POJ 1144 Network【割点个数】
- poj 1144 Network (tarjan割点模板)
- android 自己实现的一个类似expandablelistview的一个控件
- 作业 2.30
- [OpenCV] -- Win8.1下配置OpenCV的Qt(MSVC2013编译器)开发环境
- 求一个整型数组中,只有一个数出现一次,其他的数都出现2次,求这个数?
- Scala语言
- UVA 315 Network (割点)
- Python GDAL: Write new raster using projection from old
- Hdu 三角形分区
- 计蒜客--第20题:跳跃游戏二
- action通过VM生成文件并导出
- jQuery的用途和作用
- nyoj41(三个数从小到大排序)
- MySQL max_allowed_packet设置及问题
- 第四周项目二 分数类的雏形