Pagini recente » Cod sursa (job #2265480) | Cod sursa (job #1018471) | Cod sursa (job #2739094) | Cod sursa (job #2305172) | Cod sursa (job #2943190)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin( "sortaret.in" );
ofstream cout( "sortaret.out" );
const int MAX = 5e4 + 10;
vector<int> noduri[ MAX ];
vector<int> rez;
bool viz[ MAX ];
int n, m;
void dfs( int u ) {
viz[ u ] = 1;
for( int v : noduri[ u ] )
if( !viz[ v ] )
dfs( v );
rez.push_back( u );
}
int main()
{
int u, v;
cin >> n >> m;
for( int i = 0; i < m; i++ ) {
cin >> u >> v;
noduri[ u ].push_back( v );
}
for( int i = 1; i <= n; i++ )
if( !viz[ i ] )
dfs( i );
for( int i = rez.size() - 1; i >= 0; i-- )
cout << rez[ i ] << ' ';
cout << '\n';
return 0;
}