题解
2025-10-10 21:33:17
发布于:江苏
1阅读
0回复
0点赞
#include<iostream>
using namespace std;
int n,m,p,fa[5010];
int find(int x){
    if(fa[x]==x){
        return x;
    }
    return fa[x]=find(fa[x]);
}
void join(int x,int y){
    fa[find(y)]=fa[find(x)];
}
int main(){
    cin>>n>>m>>p;
    for(int i=1;i<=n;i++){
        fa[i]=i;
    }
    for(int i=0;i<m;i++){
        int x,y;
        cin>>x>>y;
        join(x,y);
    }
    while(p--){
        int x,y;
        cin>>x>>y;
        if(find(x)==find(y)){
            cout<<"Yes\n";
        }else{
            cout<<"No\n";
        }
    }
    return 0;
}
这里空空如也







有帮助,赞一个