2 条题解

  • 0
    @ 2026-10-26 17:08:22

    #include<bits/stdc++.h> using namespace std; int a[1010100],b[11011]; int in[101010],ans; int fa[1010101]; int n,m; int u,v,q; int find(int x){ if(x==fa[x]) return x; return fa[x]=find(fa[x]); } void uni(int u,int v){ fa[u]=v; } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ fa[i]=i; } while(m--){ cin>>u>>v; u=find(u); v=find(v); uni(u,v); } for(int i=1;i<=n;i++){ find(i); } cin>>q; while(q--){ cin>>u>>v; if(fa[u]==fa[v]){ cout<<"Yes"<<endl; }else{ cout<<"No"<<endl; } } return 0;

    1. }

    信息

    ID
    1314
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    276
    已通过
    91
    上传者