下面是代码(不要嘲笑我啊……)
#include<iostream>
#include<cstdio>
using namespace std;
int n,m;
int fa[10001];
int father_iFind(int x){
if(fa[x]==x) return x;
return fa[x]=father_iFind(fa[x]);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) fa[i]=i;
for(int k=1;k<=m;k++){
string s;
int u,v;
cin>>s;cin>>u>>v;
if(s[0]=='C'){
int x=father_iFind(u);
int y=father_iFind(v);
fa[x]=y;
}
else if(s[0]=='D'){
fa[v]=v;
}
else{
int x=father_iFind(u);
int y=father_iFind(v);
if(x==y) printf("Yes\n");
else printf("No\n");
}
}
return 0;
}