本机正确与WA
  • 板块P2814 家谱
  • 楼主ywtank
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/10/21 12:05
  • 上次更新2024/10/21 15:41:35
查看原帖
本机正确与WA
1070431
ywtank楼主2024/10/21 12:05
#include <bits/stdc++.h>
using namespace std;
string f;
map<string,string> fa;//fa[i]:i的祖先/代表是谁
string find(string x){
    if(fa[x]==x)return x;
    //cout << fa[x] << '\n';
    fa[x]=find(fa[x]);
    return fa[x];
}
void cr(string i,string j){
    string i_fa=find(i),j_fa=find(j);
    fa[i_fa]=j_fa;
}
int main(){
    char c;
    string s;
    while(c=getchar(),c!='$'){
        getline(cin,s,'\n');
        if(c=='#'){
            f=s;
            if(fa.count(s));
            else fa[s]=s;
        }else if(c=='+'){
            if(fa.count(s))cr(s,f);
            else fa[s]=f;
        }else if(c=='?'){
            cout << s << ' ' << find(s) << '\n';
        }
    }
    return 0;
}

希望各位大佬帮忙看看

2024/10/21 12:05
加载中...