代码如下
#include <bits/stdc++.h>
using namespace std;
map<string,string>_m;
string st,fat,son,aim;
string find(string p){
if(p!=_m[p])_m[p]=find(_m[p]);
return _m[p];
}
int main(){
getline(cin,st);
while(st!="$"){
if(st[0]=='#'){
fat=st.substr(1,6);
if(_m[fat]=="")_m[fat]=fat;
}
else if(st[0]=='+'){
son=st.substr(1,6);
_m[son]=fat;
}
else if(st[0]=='?'){
aim=st.substr(1,6);
cout<<aim<<" "<<find(aim)<<endl;
}
getline(cin,st);
}
return 0;
}