Cod sursa(job #2382549)

Utilizator SemetgTemes George Semetg Data 18 martie 2019 14:26:12
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <iostream>
#include <deque>
using namespace std;

const string FILE_NAME = "sortaret";
const int N_MAX = 50005;

int N;
deque<int> g[N_MAX];
deque<int> sol;
bool viz[N_MAX];

void init() {
    ifstream in { FILE_NAME + ".in" };
    
    int m;
    in >> N >> m;
    
    while (m--) {
        int x, y;
        in >> x >> y;
        
        g[x].emplace_back(y);
        g[y].emplace_back(x);
    }
}

void solve(int node) {
    viz[node] = true;
    
    for (const auto& next : g[node])
        if (!viz[next])
            solve(next);
    
    sol.emplace_front(node);
}

void print() {
    ofstream out { FILE_NAME + ".out" };
    
    for (const auto& node : sol)
        out << node << ' ';
}

int main() {
    init();
    solve(1);
    print();
}