poj 2492 A Bug's Life

来源:互联网 发布:淘宝上如何购买发票 编辑:程序博客网 时间:2024/05/18 03:54
    #include <iostream>using namespace std;int m,n,case_t,t,parent[5005];int num[5005],opp[5005];bool flag;void makeset(){int x;for(x=1;x<=n;x++){parent[x]=x;num[x]=0;opp[x]=-1;}}int findset(int x){if(parent[x]!=x)parent[x]=findset(parent[x]);return parent[x];}void unionset(int x,int y){x=findset(x);y=findset(y);if(num[x]>num[y])parent[y]=x;else if(num[x]<num[y])parent[x]=y;else{parent[y]=x;num[x]++;}}int main(){int i,j,x,y;scanf("%d",&t);while(t--){case_t++;scanf("%d%d",&n,&m);makeset();flag=1;for(i=1;i<=m;i++){scanf("%d%d",&x,&y);if(findset(x)==findset(y))flag=0;else{if(opp[x]!=-1)unionset(opp[x],y);if(opp[y]!=-1)unionset(x,opp[y]);opp[x]=y;opp[y]=x;}}if(flag==0){printf("Scenario #%d:/n",case_t);printf("Suspicious bugs found!/n/n");;}else{printf("Scenario #%d:/n",case_t);printf("No suspicious bugs found!/n/n");;}}return 0;}


原创粉丝点击