Cod sursa(job #2707332)

Utilizator bluestorm57Vasile T bluestorm57 Data 16 februarie 2021 20:01:36
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("sortare.in");
ofstream g("sortare.out");

const int NMAX = 50005;
int n,m,viz[NMAX];
vector < int > v[NMAX], vans;

void dfs(int node){
    for(auto it:  v[node])
        if(!viz[it]){
            viz[it] = 1;
            dfs(it);
        }
    vans.push_back(node);
}

int main(){
    int i,j,x,y;
    f >> n >> m;
    for(i = 1 ; i <= m ; i++){
        f >> x >> y;
        v[x].push_back(y);
    }

    for(i = 1 ; i <= n ; i++)
        if(!viz[i]){
            viz[i] = 1;
            dfs(i);
        }

    reverse(vans.begin(), vans.end());
    for(auto it : vans)
        g << it << " ";

    return 0;
}