Pagini recente » Borderou de evaluare (job #2538647) | Borderou de evaluare (job #3323421) | Cod sursa (job #1256008) | Cod sursa (job #3325832) | Cod sursa (job #3338142)
#include <iostream>
#include <fstream>
#include <vector>
#include <map>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
vector <int> graph[100005];
int visited[100005], n, x, y, nr, i, m;
vector <int> topo;
void dfs ( int node ) {
visited[node] = 1;
for ( auto j: graph[node] ) {
if ( visited[j] == 0 ) {
dfs ( j );
}
}
topo.push_back ( node );
}
int main()
{
fin >> n >> m;
for ( i = 1; i <= m; i++ ) {
fin >> x >> y;
graph[x].push_back(y);
}
for ( i = 1; i <= n; i++ ) {
if ( visited[i] == 0 ) {
dfs ( i );
}
}
reverse ( topo.begin(), topo.end() );
for ( auto i: topo ) {
fout << i << ' ';
}
return 0;
}