文章
72
粉丝
142
获赞
5
访问
57.7k
#include<iostream>
#include<string>
using namespace std;
const int maxn = 1000 + 5;
int f[maxn];
int height[maxn];
int find(int x) {
if (x == f[x]) return x;
f[x] = find(f[x]);
return f[x];
}
void h(int x, int y) {
int fx = find(x);
int fy = find(y);
if (x != y) {//合并
if (height[x] > height[y]) {
f[y] = x;
}
else if (height[y] > height[x]) {
f[x] = y;
}
else {
f[y] = x;
height[x]++;
&nbs...
登录后发布评论
合并的时候有点问题