标签: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