Cod sursa(job #2574881)
Utilizator | Turturica 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 );
}
}
}