Cod sursa(job #2355638)

Utilizator mihai.alphamihai craciun mihai.alpha Data 26 februarie 2019 10:56:12
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

const int maxn = 5e4 + 5;

vector <int> v[maxn];
vector <int> sol;
bool viz[maxn];

void dfs(int nod)  {
    if(viz[nod] == 1)
        return;
    viz[nod] = 1;
    for(auto x : v[nod])  {
        dfs(x);
    }
    sol.push_back(nod);
}

int main()  {
    ifstream cin("sortaret.in");
    ofstream cout("sortaret.out");
    int n, m;
    cin >> n >> m;
    for(int i = 1;i <= m;i++)  {
        int x, y;
        cin >> x >> y;
        v[x].push_back(y);
    }
    dfs(1);
    reverse(sol.begin(), sol.end());
    for(auto x : sol)
        cout << x << " ";
    return 0;
}