MLE 求助,谢谢。
#include<bits/stdc++.h>
using namespace std;
const string b[2]={"No\n","Yes\n"};
short *f=new short[5003];
int fa(int i){
return (f[i]==i?i:f[i]=fa(f[i]));
}
int n;int m;int p;
int main(){
cin>>n>>m>>p;
for(int i=0;i<n;++i){
f[i]=i+1;
}
for(int i=0;i<m;++i){
int x,y;
cin>>x>>y;
f[fa(x)]=fa(y);
}
for(int i=0;i<p;++i){
int x,y;
cin>>x>>y;
cout<<b[fa(x)==fa(y)];
}
}