int par[maxn];
int deep[maxn];深度
void init(
int n) {
for (
int i =
0; i <
0; i++) {
par[i] = i;
deep[i] =
0;
}
}
int find(
int x) {
if (par[x] == x) {
return x;
}
else {
return par[x] = find(par[x]);
}
}
void unite(
int x,
int y) {
x = find(x);
y = find(y);
if (x == y)
return;
if (deep[x] < deep[y]) {
par[x] = y;
}
else {
par[y] = x;
if (deep[x] == deep[y]) deep[x]++;
}
}
bool same(
int x,
int y) {
return find(x) == find(x);
}