主要算法
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;
}
草稿图
题目概述
INPUT
输入T组数据,每组有N人M对关系,有认识关系可分为一组,问最少需要几组
OUTPUT
需要组数
EXAMPLE INPUT
2
5 3
1 2
2 3
4 5
5 1
2 5
EXAMPLE OUTPUT
2
4