Pagini recente » Cod sursa (job #3133423) | Cod sursa (job #3156810) | Cod sursa (job #1971634) | Cod sursa (job #1800461) | Cod sursa (job #1703309)
#include<cstdio>
#include<vector>
using namespace std;
vector<int> v[50001];
vector<int>::iterator it;
int c[50001],vc[50001];
int main ()
{freopen ("sortaret.in","r",stdin);
freopen ("sortaret.out","w",stdout);
int n,m,i,x,q,k;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{scanf("%d%d",&k,&x);
v[k].push_back(x);
vc[x]++;
}
q=0;
for(i=1;i<=n;i++)
if(vc[i]==0)
{q++;
c[q]=i;
}
for(i=1;i<=n;i++)
{x=c[i];
for(it=v[x].begin();it!=v[x].end();it++)
{vc[*it]--;
if(vc[*it]==0)
{q++;
c[q]=*it;
}
}
}
for(i=1;i<=n;i++)
printf("%d ",c[i]);
return 0;
}