标签:
并查集
思路别人的
再设一个sex数组
记录与其性别不同的bug的编号
如果已经记录了
则将其和记录的值并到一起
以为性别相同
路漫漫其修远兮
下句忘了。。。
#include<stdio.h> #include<string.h> int set[2005]; int sex[2005]; int temp; int find(int x) { return set[x]==x?x:set[x]=find(set[x]); } void merge(int x,int y) { int fx,fy; fx=find(x); fy=find(y); if(fx!=fy) set[fx]=fy; } int main() { int t,m,n; scanf("%d",&t); int count=0; int gay; int x,y,i; while(t--) { scanf("%d%d",&m,&n); for(i=0;i<=m;i++) { set[i]=i; sex[i]=0; } gay=0; count++; while(n--) { scanf("%d%d",&x,&y); if(find(x)==find(y)) gay=1; else { if(sex[x]==0) sex[x]=y; else merge(sex[x],y); if(sex[y]==0) sex[y]=x; else merge(sex[y],x); } } printf("Scenario #%d:\n",count); if(gay==1) printf("Suspicious bugs found!\n"); else printf("No suspicious bugs found!\n"); printf("\n"); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/whereyousink/article/details/47335923