我的代码自测能过,提交后全部RE是什么情况?
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int n,q,z,x,y,fa[N],id[N],ans[N];
int xfind(int x){
if(x==fa[x])return x;
return fa[x]=xfind(fa[x]);
}
int xunion(int x,int y){
int u=xfind(x),v=xfind(y);
if(u!=v)fa[u]=v;
}
int main(){
scanf("%d%d",&n,&q);
for(int i=1;i<=n*2+q;i++)fa[i]=id[i]=ans[i]=i;
int k1=n,k2=n+q;
while(q--){
scanf("%d%d",&z,&x);
if(z==1){
scanf("%d",&y);
xunion(id[y],id[x]);
id[y]=++k2,ans[k2]=y;
}else if(z==2)xunion(++k1,id[x]);
else printf("%d\n",ans[xfind(x)]);
}
return 0;
}