HDU - 1829 A Bug‘s Life

https://vjudge.net/problem/HDU-1829

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int N=2010;
int T,n,m;
int p[2*N];
int find(int x)
{
    
    
	if(p[x]!=x) p[x]=find(p[x]);
	return p[x];
}
int main()
{
    
    
	scanf("%d",&T);
	int cnt=0;
	while(T--)
	{
    
    
		scanf("%d %d",&n,&m);
		for(int i=1;i<=2*n;i++) p[i]=i;
		int a,b;
		int f=0;
		while(m--)
		{
    
    
			scanf("%d %d",&a,&b);
			int fa=find(a),fb=find(b);
			if(fa==fb)
				f=1;
			else
			{
    
    
				int t1=find(a+n),t2=find(b+n);
				p[fa]=t2;
				p[fb]=t1;
			}
		}
		printf("Scenario #%d:\n",++cnt);
		if(f)
			printf("Suspicious bugs found!\n");
		else
			printf("No suspicious bugs found!\n");
		printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_52341477/article/details/119978649