Cod sursa(job #2414850)

Utilizator bazycristi21Bazavan Cristian bazycristi21 Data 25 aprilie 2019 10:43:41
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream in("sortaret.in");
ofstream out("output.txt");

int main()
{
    int N,M,i;
    in>>N>>M;
    vector <vector <int>> G(N+1);
    int grad[N+1]={0};
    queue<int> Q;
    for(i=1;i<=M;i++)
    {
        int x,y;
        in>>x>>y;
        G[x].push_back(y);
        grad[y]++;
    }
    for(i=1;i<=N;i++)
        if(grad[i]==0)
            Q.push(i);
    while(!Q.empty())
    {
        cout<<Q.front()<<" ";
        i=Q.front();
        Q.pop();
        for(auto j: G[i])
        {
             grad[j]--;
             if(grad[j]==0)
                Q.push(j);
        }

    }


}