void Init(int n)
{
for (int i = 1; i <= n; i++)
a[i] = i;//初始化自己为自己的爹
}
int Find(int x)//返回爹
{
//if (a[x] == x)
// return x;//即自己
//else
// return Find(a[x]);//查找自己的爹有没有爹
return a[x] == x ? x : Find(a[x]);
}
void Merge(int x, int y)
{
a[Find(x)] = Find(y);//x的老爹认y的老爹为爹
}
int Qurey(int x, int y)
{
return (Find(x) == Find(y));//x,y同一个老爹
}
这注释怪怪的hh