首页 > 其他 > 详细

A Bug's Life-----poj2492

时间:2015-07-26 15:41:05      阅读:146      评论:0      收藏:0      [点我收藏+]

http://poj.org/problem?id=2492

题意是问是否存在同性恋, 就是a喜欢b,b喜欢c,a又喜欢c,所以就有同性恋了;

技术分享
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#define N 11000
using namespace std;

int f[N], r[N];

int Find(int x)
{
    int k=f[x];
    if(x!=f[x])
    {
        f[x]=Find(f[x]);
        r[x]=(r[k]+r[x])%2;
    }
    return f[x];
}

int main()
{
    int T, n, m, i, t=1, x, y, flag;
    scanf("%d", &T);
    while(T--)
    {
        flag = 0;
        printf("Scenario #%d:\n",t++);
        scanf("%d%d", &n, &m);
        for(i=0;i<n;i++)
        {
            f[i]=i;
            r[i]=0;
        }
        for(i=0;i<m;i++)
        {
            scanf("%d%d", &x, &y);
            int px=Find(x), py=Find(y);
            if(px != py)
            {
                f[px]=py;
                r[px]=(2-r[x]+r[y]+1)%2;
            }
            else if(px==py && (r[y]-r[x]+2)%2!=1)
            {
                if(flag==0)
                {
                    printf("Suspicious bugs found!\n\n");
                    flag=1;
                }
            }
        }
        if(flag==0)
            printf("No suspicious bugs found!\n\n");
    }
    return 0;
}
View Code

 

A Bug's Life-----poj2492

原文:http://www.cnblogs.com/zhengguiping--9876/p/4677734.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!