Pagini recente » Cod sursa (job #2113973) | Cod sursa (job #2131752) | Cod sursa (job #692931) | Cod sursa (job #1434167) | Cod sursa (job #1704009)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector <int> v[50010];
int coada[50010],grad_ext[50010];
int main()
{
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int i,n,m,a,b,j,nod,dim;
fin>>n>>m;
for(i=1; i<=m; i++)
{
fin>>a>>b;
v[a].push_back(b);
grad_ext[b]++;
}
for(i=1; i<=n; i++)
if(grad_ext[i]==0)
{
coada[0]++;
coada[coada[0]]=i;
}
for(i=1; i<=n; i++)
{
nod=coada[i];
dim=v[nod].size();
for(j=0; j<dim; j++)
{
grad_ext[v[nod][j]]--;
if(grad_ext[v[nod][j]]==0)
{
coada[0]++;
coada[coada[0]]=v[nod][j];
}
}
}
for(i=1; i<=n; i++)
fout<<coada[i]<<" ";
return 0;
}