一个并查集12 23 45 这种划分堆都可以用并查集
import java.util.Scanner;
public class Main {
static int p[]=new int[1010];
static int n;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n=sc.nextInt();
int m=sc.nextInt();
int cnt=n;
for(int i = 1 ; i <= n ; i ++) p[i] = i ;
while (m-->0){
int a=sc.nextInt();
int b=sc.nextInt();
a=find(a);b=find(b);
if (a!=b){
cnt--;
p[a]=b;
}
}
System.out.println((cnt));最后划分结果
}
static int find(int x){并查集模板
if (p[x]!=x)p[x]=find(p[x]);
return p[x];
}
}