Pagini recente » Cod sursa (job #1012878) | Cod sursa (job #831903) | Cod sursa (job #1901155) | Cod sursa (job #1993266) | Cod sursa (job #395620)
Cod sursa(job #395620)
#include<stdio.h>
int q,ver[100100],leg[100100],start[50100],c[50100],in[50100];
int main()
{
int n,m,x,y,p,t,i;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d",&n,&m);
while(m--)
{
scanf("%d %d",&x,&y);
ver[++q]=y;
leg[q]=start[x];
start[x]=q;
in[y]++;
}
for(i=1;i<=n;i++)
if(!in[i])
c[++c[0]]=i;
p=1;
while(c[0]<n)
{
t=start[c[p]];
while(t)
{
in[ver[t]]--;
if(!in[ver[t]])
c[++c[0]]=ver[t];
t=leg[t];
}
p++;
}
for(i=1;i<=n;i++)
printf("%d ",c[i]);
return 0;
}