Cod sursa(job #2929371)

Utilizator k20ySabaceag Marius k20y Data 25 octombrie 2022 18:35:19
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;

ifstream in("sortaret.in");
ofstream out("sortaret.out");

const int N=5e4 + 5;

vector<int> la[N];
bool vizitat[N];
vector<int> sol;

void dfs(int nod)
{
    if(vizitat[nod]) return;
    vizitat[nod]=1;

    for(int i=0;i<la[nod].size();i++)
        dfs(la[nod][i]);

    sol.push_back(nod);
}

int main()
{
    int n,m; in>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int x,y; in>>x>>y;
        la[x].push_back(y);
    }

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

    for(int i=sol.size()-1;i>=0;i--)
            out<<sol[i]<<' ';
}