Pagini recente » Cod sursa (job #2589932) | Cod sursa (job #60549) | Cod sursa (job #983472) | Cod sursa (job #2406445) | Cod sursa (job #2561768)
#include <iostream>
#include <fstream>
#include <stack>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");
vector <int> v[100006];
int d[100006], sol[100006], k;
void df1(int nod)
{
d[nod]=1;
for(int i=0;i<v[nod].size();i++)
{
if(!d[v[nod][i]])
df1(v[nod][i]);
}
sol[++k]=nod;
}
int main()
{
int n, m;
in>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
in>>x>>y;
v[x].push_back(y);
}
for(int i=1;i<=n;i++)
{
if(d[i]==0)
df1(i);
}
for(int i=k;i>=1;i--)
out<<sol[i]<<" ";
return 0;
}