#include <iostream>
using namespace std;
/*
m:数组
a:位置
完成对这个位置的合并
*/
int bc(int m[],int a)
{
int s=a;
while(m[a]!=a)
{
a=m[a];
}
m[s]=a;
return a;
}
/*
m:数组
n:数组大小
调用bc完成对整个数组的并查
*/
void find_disjoint_sets(int a[],int n)
{
for(int i=0;i<n;i++)
int s=bc(a,i);
}
int judge(int a[],int x,int y)
{
if ( bc(a,x)==bc(a,y) )
return 1;
return 0;
}
int main() {
int a[11]={2,1,2,6,2,5,7,2,5,7,9};
find_disjoint_sets(a,sizeof(a)/sizeof(int));
for(int i=0;i<11;i++)
{
cout<<a[i]<<' ';
}
cout<<'\n'<<judge(a,0,10);
return 0;
}