Cod sursa(job #2424267)

Utilizator ICHBogdanIordache Bogdan-Mihai ICHBogdan Data 22 mai 2019 20:28:05
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <limits.h>
using namespace std;

const int  MAXN = 50007;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");


class SorTop
{
    int N, M, viz[MAXN], deg[MAXN];
    vector<int> G[MAXN];

public:
    SorTop()
    {
        int a, b;
        fin>>N>>M;
        for(int i = 1; i <= M; i++)
        {
            fin>>a>>b;
            G[a].push_back(b);
            deg[b]++;
        }
        build();
    }
    void build();
};

void SorTop::build()
{
    for(int i = 1; i <= N; i++)
    {
        for(int j = 1; j <= N; j++)
         if(!viz[j] && deg[j] == 0)
         {
            viz[j] = 1;
            cout<<j<<" ";
            for(int k = 0; k < G[j].size(); k++)
                deg[ G[j][k] ]--;
           // break ;
         }
    }
}


int main()
{
    SorTop A;
    return 0;
}