for(int i=0;i<10005;i++)
father[i]=i;
int find(int x)
{
int a=x;
while(x!=father[x])
x=father[x];
while(a!=father[a])//路径压缩
{
int z=a;
a=father[a];
father[z]=x;
}
return x;
}
void Union(int a,int b)
{
int faA=find(a);
int faB=find(b);
if(faA!=faB)
father[faA]=faB;
}
07-24
07-24