码迷,mamicode.com
首页 > 其他好文 > 详细

hdu1829 A Bug's Life 基础种类并查集

时间:2014-08-27 01:37:36      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   ar   div   log   

  题目的大意可以理解为:A爱B,B爱C ……给出一系列爱恋的关系,推断有没有同性恋。

  思路是把相同性别的归为一个集合,异性的异性为同性。

  

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=2010;
int f[N], r[N], flag;
void init()
{
    for(int i=1;i<N;i++)
    {
        f[i]=i;
        r[i]=0;
    }
}
int Find(int x)
{
    if(x==f[x]) return x;
    return f[x]=Find(f[x]);
}
void Link(int x,int y)
{
    int a=Find(x), b=Find(y);
    if(a==b) flag=0;
    else
    {
        if(r[x]) f[y]=Find(r[x]);
        else r[x]=y;
        if(r[y]) f[x]=Find(r[y]);
        else r[y]=x;
    }
}
int main()
{
    //freopen("test.txt","r",stdin);
    int x,y,n,m,cas,k;
    scanf("%d",&cas);
    for(k=1;k<=cas;k++)
    {
        scanf("%d%d",&n,&m);
        init();
        flag=1;
        while(m--)
        {
            scanf("%d%d",&x,&y);
            if(!flag) continue;
            Link(x,y);
        }
        printf("Scenario #%d:\n",k);
        if(flag) printf("No suspicious bugs found!\n");
        else printf("Suspicious bugs found!\n");
        printf("\n");
    }
    return 0;
}

 

hdu1829 A Bug's Life 基础种类并查集

标签:style   blog   color   os   io   for   ar   div   log   

原文地址:http://www.cnblogs.com/Potato-lover/p/3938548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!