Pagini recente » Cod sursa (job #1066569) | Cod sursa (job #1661522) | Cod sursa (job #1207053) | Cod sursa (job #125880) | Cod sursa (job #3212056)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
using namespace std;
ifstream fin ( "sortaret" );
ofstream fout ( "sortaret" );
const int N = 50000;
vector <int> g[N + 10];
stack <int> st;
int viz[N + 10];
int sort_top ( int node ) {
viz[node] = 1;
for ( int i = 0; i < g[node].size(); i++ )
if ( viz[g[node][i]] == 0 ) {
sort_top ( g[node][i] );
}
st.push ( node );
return 0;
}
int main () {
int n, m, x, y;
fin >> n >> m;
for ( int i = 0; i < m; i++ ) {
fin >> x >> y;
g[x].push_back (y);
}
for ( int i = 1; i <= n; i++ )
if ( viz[i] == 0 )
sort_top ( i );
while ( st.size() != 0 ) {
fout << st.top() << " ";
st.pop();
}
return 0;
}