Pagini recente » Cod sursa (job #1743985) | Cod sursa (job #336779) | Cod sursa (job #336735) | Cod sursa (job #3313862) | Cod sursa (job #455010)
Cod sursa(job #455010)
#include<stdio.h>
typedef struct celula
{
int info;
struct celula *urm;
} cel,*lista;
lista l,fii[50000];
long viz[50000];
void dfs(long q)
{
lista w,p;
viz[q]=1;
p=fii[q];
while (p)
{
if (viz[p->info]==0) dfs(p->info);
p=p->urm;
}
w=(lista)calloc(sizeof(cel),1);
w->info=q;
w->urm=l;
l=w;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
long n,m,x,y,i;
scanf("%li%li",&n,&m);
for(i=1;i<=n;i++)
{
fii[i]=NULL;
viz[i]=0;
}
for(;m;--m)
{
scanf("%i%i",&x,&y);
l=(lista)calloc(sizeof(cel),1);
l->info=y;
l->urm=fii[x];
fii[x]=l;
}
l=NULL;
for(i=1;i<=n;i++)
{
if (viz[i]==0) dfs(i);
}
while (l)
{
printf("%li ",l->info);
l=l->urm;
}
return 0;
}