看着没问题啊。。。。。。。
rt
#include <iostream>
using namespace std;
int q,op,x,y;
struct node{
int r=0;
bool flag=0;
};
node v[1000010];
void add(int a,int b,int c){
v[a].r=b;
v[b].r=c;
}
void shuchu(int k){
if(v[k].flag==0) {
cout<<v[k].r<<endl;
return;
}
shuchu(v[k].r);
}
int main(){
cin>>q;
for(int i=1;i<=q;i++){
cin>>op;
if(op==1){
cin>>x>>y;
add(x,y,v[x].r);
}else if(op==2){
cin>>x;
shuchu(x);
}else{
cin>>x;
if(v[x].r!=0) v[v[x].r].flag=1;
}
}
return 0;
}