Pagini recente » Cod sursa (job #896658) | Cod sursa (job #2637849) | Cod sursa (job #716933) | Cod sursa (job #2738429) | Cod sursa (job #1110967)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
#define NMax 50002
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m;
vector<int> v[NMax];
int p[NMax],viz[NMax],nr;
void df(int x)
{
int i,e;
viz[x]=1;
e=v[x].size();
for(i=0;i<e;i++) if(viz[v[x].at(i)]==0) df(v[x].at(i));
p[++nr]=x;
}
int main()
{
int i,a,b;
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>a>>b;
v[a].push_back(b);
}
for(i=1;i<=n;i++) if(viz[i]==0) df(i);
for(i=n;i>=1;i--) g<<p[i]<<" ";
g<<"\n";
f.close();
g.close();
return 0;
}