并查集|简单|hdu1213|分圈

2017-11-05  本文已影响0人  绍重先

主要算法

int f[maxn];

int Find(int x) {
    cout<<"x:"<<x<<endl;
    if(f[x]!=x)
        f[x] = Find(f[x]);
    return f[x];
}

void Union(int root1,int root2) {
    int r1 = Find(root1);
    int r2 = Find(root2);
    if(r1!=r2)
        f[r2] = r1;
    else return;
}

草稿图

有误 最后是33344

题目概述

INPUT

输入T组数据,每组有N人M对关系,有认识关系可分为一组,问最少需要几组

OUTPUT

需要组数

EXAMPLE INPUT

2
5 3
1 2
2 3
4 5

5 1
2 5

EXAMPLE OUTPUT

2
4

上一篇 下一篇

猜你喜欢

热点阅读