Pagini recente » Cod sursa (job #1147556) | Cod sursa (job #1496032) | Cod sursa (job #2069123) | Cod sursa (job #2601079) | Cod sursa (job #2848667)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
const int NMAX = 5e4;
ifstream fin( "sortaret.in" );
ofstream fout( "sortaret.out" );
int viz[NMAX+1];
vector <int> edges[NMAX+1];
int indegree[NMAX+1];
void dfs( int node ) {
viz[node] = 1;
for( auto parent: edges[node] ) {
if( !viz[parent] )
dfs( parent );
}
fout << node << " ";
}
int main() {
int n, m, a, b, i;
fin >> n >> m;
for( i = 0; i < m; i++ ) {
fin >> a >> b;
edges[b].push_back(a);
indegree[a]++;
}
for( i = 1; i <= n; i++ ) {
if( indegree[i] == 0 )
dfs( i );
}
return 0;
}