三个函数
void Make_set(int x)
{
int i;
for(i=0;i<x;i++)
{
father[i]=i;
num[i]=1;
}
}
int Find_set(int x)
{
if(father[x]!=x)
{
father[x]=Find_set(father[x]);
}
return father[x];
}
void Union(int x,int y)
{
int a,b;
a=Find_set(x);
b=Find_set(y);
if(a==b)
return;
if(num[a]>num[b])
{
father[b]=a;
num[a]+=num[b];
}
else
{
father[a]=b;
num[b]+=num[a];
}
}
浙公网安备 33010602011771号