Cod sursa(job #2230849)

Utilizator rnqftwcalina florin daniel rnqftw Data 11 august 2018 21:18:10
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<bits/stdc++.h>

using namespace std;

vector<int> v[50005];
int visited[50005] , k;
int ans[50005];
void dfs(int nod){
    visited[nod] = 1;
    for(auto it:v[nod]){
        if( visited[it] == 0)
            dfs(it);
    }
    ans[++k] = nod ;
}

int main(){
    int n, m;
    ifstream in("sortaret.in");
    ofstream out("sortaret.out");
    in >> n >> m;

    for(int i = 1 ; i <= m ; i++){
        int x , y ;
        in >> x >> y;
        v[x].push_back(y);
    }
    for(int i = 1 ; i <= n ; i++)
        if(visited[i] == 0)
            dfs(i);

    for(int i = n ; i >= 1 ; i--){
        out << ans[i] << ' ';

    }

}