Pagini recente » Profil metallidethantralayer | Atasamentele paginii Profil bzxbzxbzx | Istoria paginii utilizator/crina2120 | Profil cioionut | Cod sursa (job #2007553)
#include <iostream>
#include <list>
#include <cstdio>
using namespace std;
long long int x,y,In[50000],n,k;
list<int> V[50000],Elimina;
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
cin>>n>>k;
for (int i=0;i<k;i++)
{
cin>>x>>y;
V[x].push_back(y);
In[y]++;
}
for (int i=0;i<n;i++)
{
if (In[i]==0)
{
Elimina.push_back(i);
}
}
for (int i=0;i<n;i++)
{
int current = Elimina.front();
Elimina.pop_front();
cout<<current<<" ";
for (int j=0;j<V[current].size();j++)
{
In[V[current].front()]--;
if (In[V[current].front()]==0)
{
Elimina.push_back(V[current].front());
}
V[current].pop_front();
}
}
}