| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
ac代码!#include<iostream>
#include<cstdio>
using namespace std;
#define N 2123
int fa[2*N],ran[2*N];
inline void init(){
for(int i=0;i<=2*N;i++){
fa[i]=i;
ran[i]=1;
}
}
int find(int x){
return x==fa[x]?x:(fa[x]=find(fa[x]));
}
inline void merge(int i,int j){
int x=find(i),y=find(j);
if(x==y) return;
if(ran[x]<=ran[y])
fa[x]=y;
else
fa[y]=x;
if(ran[x]==ran[y])
ran[y]++;
}
int main(){
int t,n,m,a,b,i,j=1;
scanf("%d",&t);
while(t--){
int flag=1;
scanf("%d%d",&n,&m);
init();
while(m--){
if(flag){
scanf("%d%d",&a,&b);
int x=find(a),y=find(b);
if(x==y)
flag=0;
else{
merge(a,b+N);
merge(a+N,b);
}
}
else
scanf("%*d%*d");
}
if(j>1)
printf("\n");
printf("Scenario #%d:\n",j++);
if(!flag) printf("Suspicious bugs found!\n");
else printf("No suspicious bugs found!\n");
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator