Pagini recente » Rating Traian Omin (kalkin) | Cod sursa (job #919871) | Cod sursa (job #814084) | Cod sursa (job #1362014) | Cod sursa (job #488203)
Cod sursa(job #488203)
#include <stdio.h>
int nr=0,st[50002],n,m,x,y,i,use[50002];
struct list
{
int nod;
list *link;
}*la[50002];
void addnod(int x,int y)
{
list *p;
p=new list;
p->nod=y;
p->link=la[x];
la[x]=p;
}
void df(int nod)
{
list *p;
use[nod]=1;
p=la[nod];
while(p!=NULL)
{
if(use[p->nod]==0) df(p->nod);
p=p->link;
}
st[++nr]=nod;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
addnod(x,y);
}
for(i=1;i<=n;i++) use[i]=0;
for(i=1;i<=n;i++)
if(!use[i]) df(i);
for(i=n;i>1;i--)
printf("%d ",st[i]);
printf("%d\n",st[1]);
return 0;
}