#include<iostream>
#include<cstdio>
using namespace std;
const int MAX=2010;
int pre[MAX*2];
void init(int n){
for(int i=1;i<=n;i++)
pre[i]=i;
}
int find(int x){
if(pre[x]==x) return x;
return pre[x]=find(pre[x]);
}
void unite(int x,int y){
x=find(x);
y=find(y);
if(x==y) return;
pre[x]=y;
}
bool same(int x,int y){
return find(x)==find(y);
}
int n,m;
int main(){
int t,ca;
scanf("%d",&t);
for(ca=1;ca<=t;ca++){
scanf("%d%d",&n,&m);
init(n*2);
bool flag=true;
int x,y;
while(m--){
scanf("%d%d",&x,&y);
if(same(x,y))
flag=false;
if(flag){
unite(x,y+n);
unite(x+n,y);
}
}
if(ca>1) printf("\n");
printf("Scenario #%d:\n",ca);
if(flag) printf("No suspicious bugs found!\n");
else printf("Suspicious bugs found!\n");
}
return 0;
}
12-20
233
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)