Cod sursa(job #2514282)

Utilizator EdgeLordXDOvidiuPita EdgeLordXD Data 25 decembrie 2019 00:52:58
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <vector>
#define N 50004
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<int>a[N];
bool v[N];
int r[N], k=0;
void dfs(int i){
    v[i]=1;
    for(auto it:a[i])
        if(!v[it])
            dfs(it);
    r[++k]=i;
}
int main() { 
    int n, m,i,x,y;
    in>>n>>m;
    for(i=1; i<=m; ++i){
        in>>x>>y;
        a[x].push_back(y);
    }
    for(i=1; i<=n; ++i)
        if(!v[i])
            dfs(i);
    for(; k; --k)
        out<<r[k]<<" ";
    return 0;
}