Pagini recente » Diferente pentru utilizator/stargold2 intre reviziile 190 si 189 | Statistici Jinga Andreea (AndreeaJng) | Diferente pentru utilizator/stargold2 intre reviziile 173 si 172 | Diferente pentru solutie/nrchei intre reviziile 11 si 12 | Cod sursa (job #1781164)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MAXN 50010
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> G[MAXN];
int v[MAXN],viz[MAXN],n,m,x,y,k;
void df(int nod)
{
viz[nod]++;
int nr=G[nod].size();
for(int i=0;i<nr;i++)
if(!viz[G[nod][i]])
df(G[nod][i]);
v[++k]=nod;
}
int main()
{
f>>n>>m;
while(m--)
{
f>>x>>y;
G[x].push_back(y);
}
for(int i=1;i<=n;i++)
if(!viz[i])
df(i);
for(int i=n;i>=1;i--)
cout<<v[i]<<' ';
return 0;
}