Pagini recente » Cod sursa (job #54545) | Cod sursa (job #1779844) | Cod sursa (job #1729868) | Cod sursa (job #2170667) | Cod sursa (job #282365)
Cod sursa(job #282365)
#include<stdio.h>
typedef struct nod{int val;
nod* urm;} *lista,NOD;
lista v[50002];
lista sol;
int i,j,k,l,m,n,p,ok[50002];
void add(int x,int val){
lista p=new NOD;
p->val=val;
p->urm=v[x];
v[x]=p;
}
void push(int x){
lista p=new NOD;
p->val=x;
p->urm=sol;
sol=p;
}
void df(int x){
ok[x]=1;
for(lista p=v[x];p;p=p->urm)
if(ok[p->val]==0)
df(p->val);
ok[x]=3;
push(x);
}
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",&k,&l);
add(k,l);
}
for(i=1;i<=n;i++)
{if(ok[i]==0)
df(i);
}
for(lista p=sol;p;p=p->urm)
printf("%d ",p->val);
return 0;}