Pagini recente » Cod sursa (job #381745) | Cod sursa (job #1971324) | Cod sursa (job #434175) | Cod sursa (job #111773) | Cod sursa (job #1108141)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");
vector <int> G[50010]; int v[50010],viz[50010],n,m,k=1;
void citire()
{
int i, a, b;
in>>n>>m;
for (i=1;i<=m;i++) { in>>a>>b; G[a].push_back(b); }
}
void afisare()
{
int i; for (i=n;i;i--) out<<v[i]<<" ";
}
void dfs (int x)
{
viz[x]=1;
for (int i=0;i<G[x].size();i++) if (!viz[G[x][i]]) dfs (G[x][i]);
v[k]=x; k++;
}
void solve()
{
int i;
for ( i = 1; i <= n; ++i )
if (! viz[i] )
dfs( i );
}
int main()
{
citire();
solve();
afisare();
return 0;
}