Cod sursa(job #2795670)

Utilizator Marie02THGStanescu Maria Raluca Marie02THG Data 6 noiembrie 2021 19:26:03
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

#define Nmax 50005


vector<int> la[Nmax];
vector<int> vizitat(Nmax,0);
vector<int> sort_top;

void sortaret(int x)
{
    vizitat[x]=1;
    for(int nod : la[x])
    {
        if(vizitat[nod]==0)
            sortaret(nod);
    }
    sort_top.push_back(x);
}

int main()
{
    int N,M;
    in>>N>>M;
    for(int i=1 ; i <= M ; i++)
    {
        int a,b;
        in>>a>>b;
        la[a].push_back(b);
    }
    for(int i=N; i>=1; i--)
    {
        if(vizitat[i]==0)
            sortaret(i);
    }
    for( int i=sort_top.size() -1; i>=0; i--)
        out<<sort_top[i]<<" ";
    return 0;
}