Pagini recente » Cod sursa (job #3209936) | Clasament teme_acmunibuc_2014_1_2 | Cod sursa (job #2689397) | Cod sursa (job #3164990) | Cod sursa (job #2469159)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("sortare.in");
ofstream g("sortare.out");
struct node
{
int e;
node *next=NULL;
}*v[50001],*res=NULL;
void push(node *(&e),int x)
{
node *t=new node;
t->e=x;
t->next=e;
e=t;
}
inline void sortare(int *viz,int i)
{
viz[i]=1;
if(!v[i])
push(res,i);
else
{
while(v[i])
{
if(!viz[v[i]->e])
sortare(viz,v[i]->e);
v[i]=v[i]->next;
}
push(res,i);
}
}
int main()
{
int n,m;
f>>n>>m;
for(int i=1;i<=n;++i)
v[i]=NULL;
while(m--)
{
int x,y;
f>>x>>y;
push(v[x],y);
}
int viz[50001]={0};
for(int i=1;i<=n;++i)
if(!viz[i])
sortare(viz,i);
while(res)
{
g<<res->e<<' ';
res=res->next;
}
return 0;
}