map暴搞。。找到pre[]為空的即為頭結點。 map不清除會超時。。map.clear();
下面是AC代碼:
[cpp]
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main(){
int t,n,ca=1;
cin>>t; www.2cto.com
while(t--){
map<string , string > pre,next;
pre.clear(); next.clear();
string s,e,s_pos;
cin>>n;
for(int i=0;i<n-1;i++){
cin>>s>>e;
next[s]=e;
pre [e]=s;
}
while(pre[s]!=""){
s=pre[s];
}
cout<<"Scenario #"<<ca++<<":"<<endl;
cout<<s<<endl;
while(next[s]!=""){
cout<<next[s]<<endl;
s=next[s];
}
cout<<endl;
}
return 0;
}