并查集框架
int fa[10010];
int find(int x){
if(f[x]==x)return x;//找到祖先便返回
return f[a]=find(fa[x]);//递归寻找祖先
}
void join(int x,int y){
fa[find(x)]=find(y);//
}
int fa[10010];
int find(int x){
if(f[x]==x)return x;//找到祖先便返回
return f[a]=find(fa[x]);//递归寻找祖先
}
void join(int x,int y){
fa[find(x)]=find(y);//
}