Pagini recente » Cod sursa (job #257149) | Cod sursa (job #198412) | Cod sursa (job #56575) | Cod sursa (job #1493865) | Cod sursa (job #186456)
Cod sursa(job #186456)
#include <stdio.h>
struct nod
{
long inf;
nod *next;
};
nod *l[50010], *in;
long s[50010], n, m;
void add(long x, long y)
{
nod *p=new nod;
p->inf=y;
p->next=l[x];
l[x]=p;
}
void df(long );
int main()
{
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
long x, y, i;
scanf("%ld %ld", &n, &m);
for(i=1; i<=m; i++)
{
scanf("%ld %ld", &x, &y);
add(x, y);
}
for(i=1; i<=n; i++)
{
if(s[i]==0)
df(i);
}
nod *p=in;
while(p)
{
printf("%ld ", p->inf);
p=p->next;
}
printf("\n");
return 0;
}
void df(long x)
{
s[x]=1;
nod *p=l[x];
while(p)
{
if(s[p->inf]==0)
df(p->inf);
p=p->next;
}
nod *f=new nod;
f->inf=x;
f->next=in;
in=f;
}