Pagini recente » Cod sursa (job #2240937) | Cod sursa (job #2668936) | Cod sursa (job #360975) | Cod sursa (job #1341308) | Cod sursa (job #703427)
Cod sursa(job #703427)
#include<stdio.h>
#include<vector>
using namespace std;
int gr[500002],c[50002],n,m,i,l,r,j;
vector <int>a[50002];
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",&l,&r);
a[l].push_back(r);
gr[r]++;
}
for(i=1;i<=n;i++)
if(gr[i]==0)
{
c[0]=1;
c[1]=i;
printf("%d ",i);
i=n+1;
}
for(i=1;i<=c[0];i++)
{
m=a[c[i]].size();
for(j=0;j<m;j++)
if(gr[a[c[i]][j]])
{
gr[a[c[i]][j]]--;
if(!gr[a[c[i]][j]])
{
c[0]++;
c[c[0]]=a[c[i]][j];
printf("%d ",c[c[0]]);
}
}
}
return 0;
}