比赛 数据结构应用练习2 评测结果 AAAAAAAAAAAA
题目名称 亲戚 最终得分 100
用户昵称 小金 运行时间 0.612 s
代码语言 C++ 内存使用 3.26 MiB
提交时间 2023-07-28 16:56:19
显示代码纯文本
#include<iostream>
using namespace std;
int id[20010],ans[1000010],n,m,q;
void ch()
{
    for(int i=1;i<=n;i++)
    {
        id[i]=i;
    }
}
int find(int x)
{
    if(id[x]==x)
    {
        return x;
    }
    else
    {
        return id[x]=find(id[x]);
    }
}
void u(int a,int b)
{
    int ar=find(a);
    int br=find(b);
    if(ar==br)
    {
        return;
    }
    else
    {
        id[ar]=br;
    }
}
int main()
{
    freopen("relations.in","r",stdin);
    freopen("relations.out","w",stdout);
    cin>>n>>m;
    ch();
    for(int i=1;i<=m;i++)
    {
        int o,p;
        cin>>o>>p;
        u(o,p);
    }
    cin>>q;
    for(int i=1;i<=q;i++)
    {
        int e,f;
        cin>>e>>f;
        if(find(e)==find(f))
        {
            ans[i]=1;
        }
        else
        {
            ans[i]=0;
        }
    }
    for(int i=1;i<=q;i++)
    {
        if(ans[i]==1)
        {
            cout<<"Yes"<<endl;
        }
        else
        {
            cout<<"No"<<endl;
        }
    }
    return 0;
}