当前位置:网站首页>693. 行程排序

693. 行程排序

2022-07-07 01:08:00 Ray.C.L

在这里插入图片描述

思路:找起点(入度为0),遍历一遍

代码:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_map>
#include <unordered_set>

using namespace std;

int main()
{
    
    int T;
    cin >> T;
    for(int i = 1; i <= T; i ++){
    
        int n;
        cin >> n;
        
        unordered_map<string, string> next;
        unordered_set<string> S;
        while(n --){
    
            string a, b;
            cin >> a >> b;
            next[a] = b;
            S.insert(b);
        }
        
        string head;
        
        for(auto& [a, b] : next)
            if(!S.count(a)){
    
                head = a;
                break;
            }
            
        printf("Case #%d: ",i);
        
        while(next[head].size()){
    
            cout << head <<  '-' << next[head] << ' ';
            head = next[head];
        }
        cout << endl;
                
    }
}
原网站

版权声明
本文为[Ray.C.L]所创,转载请带上原文链接,感谢
https://raycl.blog.csdn.net/article/details/125587418