并查集

来源:互联网 发布:麦博煲音箱软件 编辑:程序博客网 时间:2024/06/16 01:04
#include<iostream>#include<cstdio>using namespace std;int Ancestors[1500];//存储祖先节点; int ances(int i)//搜寻祖先节点; {    if(Ancestors[i]!=i)        Ancestors[i]=ances(Ancestors[i]);    return Ancestors[i];}int main(){    int m,n,i;    cin>>m>>n;    for(i=1;i<=m;++i)        Ancestors[i]=i;    for(i=1;i<=n;++i)    {        int x,y;        cin>>x>>y;        x=ances(x);        y=ances(y);        if(x!=y)            Ancestors[x]=y;    }    int q;    cin>>q;    while(q--)    {        int x,y;        cin>>x>>y;        if(Ancestors[x]==Ancestors[y])            cout<<"Yes!"<<endl;        else cout<<"No!"<<endl;    }}

 

0 0
原创粉丝点击