标签:ext false number arc move body another lang res
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 13712 | Accepted: 5821 |
Description
Input
Output
Sample Input
7 7 1 2 2 3 3 4 2 5 4 5 5 6 5 7
Sample Output
2
Hint
1 2 3Building new paths from 1 to 6 and from 4 to 7 satisfies the conditions.
+---+---+
| |
| |
6 +---+---+ 4
/ 5
/
/
7 +
1 2 3Check some of the routes:
+---+---+
: | |
: | |
6 +---+---+ 4
/ 5 :
/ :
/ :
7 + - - - -
Source
#include<stdio.h> #include<string.h> struct mp { int begin,to,next; }map[10010]; int frist[10010],num,dfn[10010],low[10010],times,bridgenum,father[10010]; int degree[10010],con[10010],stack[10010],cnt,top,s[10010]; bool count[10010]; void init() { memset(father,0,sizeof(father)); memset(count,0,sizeof(count)); memset(con,0,sizeof(con)); memset(degree,0,sizeof(degree)); memset(s,0,sizeof(s)); memset(stack,0,sizeof(stack)); memset(frist,0,sizeof(frist)); memset(dfn,0,sizeof(dfn)); memset(low,0,sizeof(low)); memset(map,0,sizeof(map)); num=times=bridgenum=cnt=top=0; } void add(int x,int y) { ++num; map[num].begin=x;map[num].to=y; map[num].next=frist[x];frist[x]=num; return; } void tarjian(int v) { int i;bool flag=true; dfn[v]=low[v]=++times; stack[top++]=v; for(i=frist[v];i;i=map[i].next) { if(map[i].to==father[v]&&flag) { flag=false; continue; } if(!dfn[map[i].to]) { father[map[i].to]=v; tarjian(map[i].to); if(low[map[i].to]<low[v]) low[v]=low[map[i].to]; } else if(dfn[map[i].to]<low[v]) low[v]=dfn[map[i].to]; } if(low[v]==dfn[v]) { ++cnt; do { v=stack[--top]; s[v]=cnt; }while(dfn[v]!=low[v]); } } int main() { int n,m,a,b,i,u,v,k=0,ans=0,j; init(); scanf("%d%d",&n,&m); for(i=0;i<m;++i) { scanf("%d%d",&a,&b); add(a,b);add(b,a); } tarjian(1); for(i=1;i<=n;++i) { for(j=frist[i];j;j=map[j].next) { v=map[j].to; if(s[i]!=s[v]) { ++degree[s[i]]; ++degree[s[v]]; } } } for(i=1;i<=cnt;++i) if(degree[i]==2) ++ans; printf("%d\n",(ans+1)/2); return 0; }
[双连通分量] POJ 3177 Redundant Paths
标签:ext false number arc move body another lang res
原文地址:http://www.cnblogs.com/fuermowei-sw/p/6158890.html