P2814 家谱
map记录,
if(a[s]=="") 注意不是空格,意思是当他还没有父亲时。
char输入还是用cin吧。
#include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<map> using namespace std; char ch; string s,s1; map<string,string>a; string find(string x) { if(a[x]==x) return x; else return a[x]=find(a[x]); } int main() { cin>>ch; while(ch!='$') { cin>>s; if(ch=='#') { s1=s; if(a[s]=="") a[s]=s; } else if(ch=='+') a[s]=s1; else cout<<s<<" "<<find(a[s])<<endl; cin>>ch; } return 0; }
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,那么深情的望着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。