Pagini recente » Cod sursa (job #3294320) | Cod sursa (job #3236994) | Cod sursa (job #3298741) | Cod sursa (job #3030542) | Cod sursa (job #1114162)
#include <cstdio>
#include<vector>
using namespace std;
int n,m,i,j,ver[50004],ty[50003],I,J;
vector<int> ze[50006];
vector<int>::iterator r;
int main()
{
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=m;i++){
scanf("%d %d", &I, &J);
ze[I].push_back(J);
ty[J]++;
}
int l=1;
for(i=1;i<=n;i++)
if(ty[i]==0){ver[l]=i;l++;}
for(i=1;i<=n;i++)
for(r=ze[ver[i]].begin();r!=ze[ver[i]].end();r++){
ty[*r]=ty[*r]-1;
if(ty[*r]==0){ver[l]=*r;l++;}}
for(i=1;i<=n;i++)
printf("%d ",ver[i]);
return 0;
}