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