当前位置:编程学习 > C/C++ >>

poj 2491


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.zzzyk.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; 
 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,