Pagini recente » Arhiva de probleme | Cod sursa (job #562718) | Cod sursa (job #1600016) | Cod sursa (job #1551676) | Cod sursa (job #228054)
Cod sursa(job #228054)
#include<stdio.h>
#include<stdlib.h>
int n,m,i,a,b,h[50500],l[50500],ls,ll,x,c[50500],*ci[50500],j;
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%ld%ld",&m,&n);
for(i=1;i<=n;++i)
{scanf("%ld%ld",&a,&b);++h[b];++c[a];ci[a]=(int*)realloc(ci[a],c[a]*sizeof(int)+4);ci[a][c[a]]=b;}
for(i=1;i<=m;++i)if(h[i]==0)l[++ll]=i;
for(j=1;j<=m;++j)
{x=l[j];
for(i=1;i<=c[x];++i){--h[ci[x][i]];if(h[ci[x][i]]==0)l[++ll]=ci[x][i];}
}
for(i=1;i<=ll;++i)printf("%ld ",l[i]);
printf("\n");
return 0;
}