50分求调
  • 板块P1551 亲戚
  • 楼主buoluo_1
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/3 11:13
  • 上次更新2024/11/3 14:25:05
查看原帖
50分求调
1244736
buoluo_1楼主2024/11/3 11:13
#include<bits/stdc++.h>
using namespace std;
int f[5010];
int fand(int x){
    if(f[x]==x)return x;
    else return fand(f[x]);
}
bool check(int a,int b){
    int q=fand(a),w=fand(b);
    return q!=w;
}
void link(int a,int b){
    f[fand(a)]=b;
}
int main(){
    int n,m,k;
    scanf("%d%d%d",&n,&m,&k);
    for(int i=1;i<=n;i++)
        f[i]=i;
    for(int i=1;i<=n;i++){
        int a,b;
        scanf("%d%d",&a,&b);
        if(check(a,b))link(a,b);
    }
    while(k--){
        int x,y;
        scanf("%d%d",&x,&y);
        if(check(x,y))printf("No\n");
        else printf("Yes\n");
    }
    return 0;
}
2024/11/3 11:13
加载中...