int f[1000]
int find(int u) {
if (f[u] != u) //如果u已经有父亲了(f[u]!=u),就找u父亲的父亲
f[u] = find(f[u]);
return f[u];
}
void Union(int x, int y) {
if (find(x) != find(y)) //如果x,y的父亲不一样,就让x的父亲改为y的父亲
f[find(x)] = find(y); //f[find(x)]还能顺便更新x的父亲
04-05
2万+
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交