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