Cod sursa(job #2671654)

Utilizator KPP17Popescu Paul KPP17 Data 12 noiembrie 2020 15:20:11
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#define fisier "sortaret"
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");
const int N = 50001;
#include <vector>
std::vector<int> L[N], R;
#include <bitset>
std::bitset<N> E;
void dfs(int t)
{
    if (E[t]) return;
    E[t] = true;
    for (int f: L[t])
        dfs(f);
    R.push_back(t);
}
#include <algorithm>
int main()
{
    int n, m;
    in >> n >> m;
    while (m--)
    {
        int a, b;
        in >> a >> b;
        L[a].push_back(b);
    }
    for (int i = 1; i <= n; i++)
        dfs(i);
    std::reverse(R.begin(), R.end());
    for (int r: R)
        out << r << ' ';
}