全站首题解
2024-10-08 21:05:50
发布于:广东
18阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
map<string,string> k;//邻接表
int main(){
string s,tmp;
bool flag;
while(cin >> s){
if(s == "$"){
return 0;//如果碰到结束符直接cut
}
if(s[0] == '#'){//父亲
s.replace(0,1,"");//replace删除第一个字符
tmp = s;//用tmp保存父亲
} else if(s[0] == '+'){//儿子
s.replace(0,1,"");
k[s] = tmp;//更新邻接表
} else {//询问
s.replace(0,1,"");
string ttmp = s;
while(k[ttmp] != ""){//寻找祖宗
ttmp = k[ttmp];
}
cout << s << " " << ttmp << endl;
}
}
}
这里空空如也
有帮助,赞一个