Pagini recente » Cod sursa (job #26408) | Cod sursa (job #940434) | Cod sursa (job #3326513) | Cod sursa (job #3310294) | Cod sursa (job #3344173)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> adj[50001];
int fr[50001];
vector <int> sol;
void dfs ( int nod )
{
fr[nod] = 1;
for ( int i = 0; i < adj[nod].size(); i ++ )
if ( fr[adj[nod][i]] == 0 )
dfs(adj[nod][i]);
sol.push_back(nod);
}
int main()
{
int n, m;
f >> n >> m;
for ( int i = 1; i <= m; i ++ )
{
int x, y;
f >> x >> y;
adj[x].push_back(y);
}
for ( int i = 1; i <= n; i ++ )
if ( fr[i] == 0 )
dfs(i);
for ( int i = sol.size() - 1; i >= 0; i -- )
g << sol[i] << " ";
return 0;
}