Pagini recente » Cod sursa (job #254896) | Cod sursa (job #978989) | Cod sursa (job #346167) | Cod sursa (job #788515) | Cod sursa (job #936894)
Cod sursa(job #936894)
#include<stdio.h>
#include<vector>
#define MAXN 50005
using namespace std;
vector <int> v[MAXN];
int n,m,i,s,d,x,y,coada[MAXN],grad[MAXN];
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for( ; m; --m)
{
scanf("%d%d",&x,&y);
v[x].push_back(y);
grad[y]++;
}
for(i=1;i<=n;i++)
if(!grad[i])
coada[++d]=i;
s=1;
while(s<=d)
{
for(i=0;i<(int) v[coada[s]].size();i++)
{
grad[v[coada[s]][i]]--;
if(grad[v[coada[s]][i]]==0)
coada[++d]=v[coada[s]][i];
}
s++;
}
for(i=1;i<=n;i++)
printf("%d ",coada[i]);
return 0;
}