题解 | #DongDong认亲戚#

DongDong认亲戚

https://ac.nowcoder.com/acm/problem/23803

并查集 + map

Code

#include <bits/stdc++.h>

using namespace std;

const int N = 20010;

unordered_map<string,string>fa;
int n,m;

string find(string x){
    if(x==fa[x]) return x;
    return fa[x]=find(fa[x]);
}

int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++) {
        string s;
        cin>> s;
        fa[s]=s;
    }

    while(m--){
        int op;string a,b;
        cin>>op>> a>> b;
        if(op==1){
            a=find(a),b=find(b);
            if(a!=b) fa[a]=b;
        }
        else {
            a=find(a),b=find(b);
            if(a!=b) cout<<0<<endl;
            else cout<<1<<endl;
        }
    }
    return 0;
}
全部评论

相关推荐

喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
5 收藏 评论
分享
牛客网
牛客企业服务