您的位置:首页 > 其它

洛谷 2814 SSL 2343 信息学奥赛一本通 1388 家谱

2018-03-24 14:10 253 查看
有了map,就很容易解决了。

题目

求两个人的关系

分析

并查集

代码

#include <iostream>
#include <map>
using namespace std;
map<string,string>uk; string s;
string getf(string u){return (uk[u]==u)?u:uk[u]=getf(uk[u]);}
int main(){
ios::sync_with_stdio(0);
char x; string g;
while (cin>>x,x!='$'){
cin>>s;
if (x=='#'){
g=s; if (uk[s]=="") uk[s]=s;
}
else if (x=='+') uk[s]=g;
else cout<<s<<" "<<getf(s)<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: