Cod sursa(job #2976691)

Utilizator Elvis_CostinTuca Elvis-Costin Elvis_Costin Data 9 februarie 2023 20:50:31
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
string np = "sortaret";
ifstream f(np + ".in");
ofstream g(np + ".out");

// #define f cin
// #define g cout

int n, m;
bool viz[50003];
vector<int> adj[50003], rez;

void dfs(int nod)
{
    viz[nod] = 1;
    for (auto u : adj[nod])
        if (!viz[u])
            dfs(u);
    rez.push_back(nod);
}
void top_sort()
{
    for (int i = 1; i <= n; i++)
        if (!viz[i])
            dfs(i);
    reverse(rez.begin(), rez.end());
}
int main()
{
    ios_base::sync_with_stdio(false);
    f.tie(nullptr);

    f >> n >> m;
    for (int i = 1, a, b; i <= m; i++)
        f >> a >> b, adj[a].push_back(b);

    top_sort();

    for (auto x : rez)
        g << x << " ";

    return 0;
}