Cod sursa(job #2628439)

Utilizator doyouhavethetimeStanculescu Gabriel doyouhavethetime Data 15 iunie 2020 23:46:05
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
#define N 50000
using namespace std;

bitset <N+1> seen;
vector <int> G[N+1], ans;
int dfs (int x) {
    seen[x]=1;
    for (auto it: G[x])
        if (!seen[it])
            dfs(it);
    ans.push_back(x);
}

int main () {
    ifstream fin ("sortaret.in");
    ofstream fout ("sortaret.out");

    int n, m;
    fin >> n >> m;

    int i, j;
    for (; m; m--) {
        fin >> i >> j;
        G[i].push_back(j);
    }

    for (i=1; i<=n; ++i)
        if (!seen[i])
            dfs(i);

    for (auto it=ans.rbegin(); it!=ans.rend(); ++it)
        fout << *it << ' ';
    return 0;
}