Cod sursa(job #2722708)

Utilizator Codrut112Codrut Copas Codrut112 Data 13 martie 2021 11:11:48
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,i,a,b,st,dr,nr[50005],coada[50005],x,y;
vector<int>v[50005];
int main()
{
    f>>n>>m;
    for(i=1;i<=m;i++)
    f>>a>>b,v[a].push_back(b),nr[b]++;
    for(i=1;i<=n;i++)if(nr[i]==0)dr++,coada[dr]=i;
    st=1;
    while(st<=dr)
    {
    x=coada[st];
    st++;

     for(int i=0;i<v[x].size();i++)
        {y=v[x][i];
        nr[y]--;
        if(nr[y]==0)dr++,coada[dr]=y;
        }
  }
  for(i=1;i<=n;i++)g<<coada[i]<<" ";
}