Pagini recente » Cod sursa (job #1586358) | Cod sursa (job #2187644) | Cod sursa (job #2821788) | Cod sursa (job #2639755) | Cod sursa (job #2166517)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int i,j,n,m,verif[50005],sol[50005],ord;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector < int > v[50005];
void dfs( int nod )
{
verif[ nod ] = 1;
for( int k = 0; k < v[ nod ].size( ); k++ )
{
if( verif[ v[ nod ][ k ] ] == 0 )
dfs( v[ nod ][ k ] );
}
sol[ ++ord ] = nod;
}
int main()
{
fin>>n>>m;
for( int r = 1; r <= m; r++ )
{
fin>>i>>j;
v[ i ].push_back( j );
}
for( i = 1; i <= n; i++ )
{
if( verif[ i ] == 0 )
{
dfs( i );
}
}
for( i = n; i >= 1; i-- )
fout<<sol[ i ]<<" ";
return 0;
}