Pagini recente » Cod sursa (job #805972) | Cod sursa (job #462837) | Cod sursa (job #2094242) | Cod sursa (job #2027769) | Cod sursa (job #632024)
Cod sursa(job #632024)
#include<cstdio>
#include<vector>
using namespace std;
int n,m,x,y,grad_int[100000+5],Q[100000+5];
vector<int> G[50000+5];
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=m;++i)
{
scanf("%d %d",&x,&y);
G[x].push_back(y);
grad_int[y]++;
}
for(int i=1;i<=n;++i)
{
if(grad_int[i]==0)
Q[++Q[0]]=i;
}
for(int i=1;i<=n;++i)
{
x=Q[i];
for(int j=0,stop=G[x].size();j<stop;++j)
{
if(--grad_int[G[x][j]]==0)
Q[++Q[0]]=G[x][j];
}
printf("%d ",x);
}
putchar('\n');
return 0;
}