Pagini recente » Cod sursa (job #300545) | Cod sursa (job #1106923) | Cod sursa (job #300207)
Cod sursa(job #300207)
#include <stdio.h>
struct nod
{
long nr;
nod *ua;
} *l[50010],*lf;
long i,n,m,t,f;
char s[50010];
void dfs(int nd)
{
nod *p;
s[nd]=1;
p=l[nd];
while (p)
{
if (s[p->nr]==0)
dfs(p->nr);
p=p->ua;
}
p=new nod;
p->nr=nd;
p->ua=lf;
lf=p;
}
void clad(int t, int f)
{
nod *p;
p=new nod;
p->nr=f;
p->ua=l[t];
l[t]=p;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%ld %ld",&n,&m);
for (i=1; i<=m; i++)
{
scanf("%ld %ld",&t,&f);
clad(t,f);
}
for (i=1; i<=n; i++)
if (s[i]==0)
dfs(i);
while (lf)
{
printf("%ld ",lf->nr);
lf=lf->ua;
}
fclose(stdin);
fclose(stdout);
return 0;
}