Pagini recente » Cod sursa (job #1677060) | Cod sursa (job #1066255) | Cod sursa (job #571217) | Cod sursa (job #3703) | Cod sursa (job #1156323)
#include <cstdio>
#include <vector>
#define pb push_back
using namespace std;
vector<int> v[50010];
vector<int>::iterator it;
int v1[50010],sol[50010],n,m,x,y,i;
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",&x,&y);
v[x].pb(y);
v1[y]++;
}
for(i=1;i<=n;i++) if(!v1[i]) sol[++sol[0]]=i;
for(i=1;i<=n;i++)
{
x=sol[i];
for(it=v[x].begin();it!=v[x].end();it++)
{
v1[*it]--;
if(!v1[*it]) sol[++sol[0]]=*it;
}
}
for(i=1;i<=n;i++) printf("%d ",sol[i]);
return 0;
}