Pagini recente » Cod sursa (job #1941490) | Cod sursa (job #3180714) | Monitorul de evaluare | Cod sursa (job #2211079) | Cod sursa (job #1639005)
#include <bits/stdc++.h>
using namespace std;
int n,m,gr[50005];
vector <int > g[50005];
queue <int >q;
int sol[50005],k;
void citire()
{
scanf("%d%d",&n,&m);
int x,y;
for (int i=1;i<=m;++i)
{
scanf("%d%d",&x,&y);
g[x].push_back(y);
++gr[y];
}
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
citire();
for (int i=1;i<=n;++i)
if (!gr[i])
sol[++k]=i;
for (int i=1;i<=k;++i)
for (vector <int > :: iterator ii= g[sol[i]].begin();ii!=g[sol[i]].end();++ii)
{
--gr[*ii];
if (!gr[*ii])
sol[++k]=*ii;
}
for (int i=1;i<=k;++i)
printf("%d ",sol[i]);
return 0;
}