Cod sursa(job #2574881)

Utilizator Turturica_DorinTurturica Dorin Turturica_Dorin Data 6 martie 2020 10:31:19
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");

vector< int >G[ 50005 ];

int N, M, x, y, i, gr[ 50005 ];

void DFS( int nod )
{
    gr[ nod ]--;
    fout<< nod << ' ';
    for ( auto it:G[ nod ] )
    {
        gr[ it ]--;
        if ( gr[ it ] == 0 )
            DFS( it );
    }
}

int main()
{
    fin>>N>>M;
    for( i = 1; i <= M; i++ )
    {
        fin >> x >> y;
        G[ x ].push_back( y );
        gr[ y ]++;
    }
    for ( i = 1; i <= N; i++ )
    {
        if ( gr[ i ] == 0 )
        {
            DFS( i );
        }
    }
}