Cod sursa(job #2196158)

Utilizator horea4Cenan Horea horea4 Data 18 aprilie 2018 17:34:44
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int N,M,a,b;
vector <int> v[50001];
queue <int> q;
int nr[50001];
int main()
{
    fin>>N>>M;
    for(int i=1;i<=M;i++)
    {
        fin>>a>>b;
        v[a].push_back(b);
        nr[b]++;


    }
    for(int i=1;i<=N;i++)
    {
        if(nr[i]==0)
        {  q.push(i);

        }

    }

    while(!q.empty())
    {   fout<<q.front()<<" ";
        for(auto i:v[q.front()])
        {
            nr[i]--;
            if(nr[i]==0)
            {
                q.push(i);

            }

        }

        q.pop();
    }

    return 0;
}