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;
}