您的位置:首页 > Web前端

poj 2492 A Bug's Life

2012-07-16 20:29 375 查看
http://poj.org/problem?id=2492

和poj 1703 一样不再多说

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<queue>
#include<algorithm>
#include<set>

using namespace std;

const int N=100010;

int f
;
int same
;
int findf(int x)
{
if(f[x]!=x)
{
int temp=f[x];
f[x]=findf(f[x]);
if(same[x]==same[temp])
{
same[x]=1;
}else
{
same[x]=0;
}
}
return f[x];
}
int main()
{
int T;
scanf("%d",&T);
for(int w=1;w<=T;++w)
{
int n,m;
scanf("%d %d",&n,&m);
for(int i=1;i<=n;++i)
{
f[i]=i;
same[i]=1;
}
int ans=0;
while(m--)
{
int x,y;
scanf("%d %d",&x,&y);
if(ans)
continue;
int xf=findf(x);
int yf=findf(y);
if(xf==yf)
{
if(same[x]==same[y])
{ans=1;continue;}
}
f[xf]=yf;
if(same[x]==same[y])
{
same[xf]=0;
}else
{
same[xf]=1;
}
}
printf("Scenario #%d:\n",w);
if(ans==0)
printf("No suspicious bugs found!\n\n");
else
printf("Suspicious bugs found!\n\n");
}
return 0;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: