import java.util.Scanner;
// 并查集 判断一个图中有几个联通块
public class UnionFind {
private int[] father;//
private int count;// 分量数量
public UnionFind(int N){
count=N;
father=new int[N];
for(int i=0;i
0){
int p=cin.nextInt();
int q=cin.nextInt();
// 若p q 已经在同一块中,则不需要采取任何行动
if(uf.connected(p,q)) continue;
uf.union(p,q);
System.out.println(p+" "+q);
}
System.out.println(uf.count()+" components");
}
}