int n=1024; int father[1024]; void init() { for(int i=0;i<n;i++) { father[i]=i; } } int find(int u) { if(father[u]==u) { return u; } return father[u]=find(father[u]); } void join(int u,int v) { u=find(u); v=find(v); if(u==v) { return ; } father[v]=u; } bool same(int u,int v) { return find(u)==find(v); }