Pagini recente » Cod sursa (job #476489) | Cod sursa (job #1940365) | Cod sursa (job #647425) | Monitorul de evaluare | Cod sursa (job #212766)
Cod sursa(job #212766)
#include <stdio.h>
#define N 60275
int ok[N],n,m;
typedef struct nod{
int
vf;
nod *next;
} *Nod, NOD;
Nod L[N];
Nod poz;
void adaug(int i,int j){
Nod p=new NOD;
p->next=L[i];
p->vf=j;
L[i]=p;
}
void elimin(int nod){
Nod p=new NOD;
p->next=poz;
p->vf=nod;
poz=p;
}
void funct(int nod){
ok[nod]=1;
for(Nod p=L[nod];p;p=p->next)
if(!ok[p->vf])
funct(p->vf);
ok[nod]=2;
elimin(nod);
}
int main(){
int x,y,i;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for(;m>0;m--){
scanf("%d%d",&x,&y);
adaug(x,y);
}
for(i=1;i<=n;++i)
if(!ok[i])
funct(i);
for(Nod p=poz;p;p=p->next)
printf("%d\n",p->vf);
fclose(stdin);
fclose(stdout);
return 0;
}