Cod sursa(job #2419704)

Utilizator alex_galatanAlex Galatan alex_galatan Data 9 mai 2019 11:45:12
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>

using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");


int main()
{
    int n, m, i, a, b,j,k;

    queue<int> L, S;


    f>>n>>m;

    int grad[n + 1];
    int viz[n + 1];
    vector<vector<int>> oof (n + 1);

    for (i = 1; i <= m; i++)
    {
        grad[i] = 0;
        viz[i] = 0;
    }


    for (i = 1; i <= m; i++)
    {
        f>>a>>b;

        oof[a].push_back(b);
        cout<<a<<" - "<<b<<endl;
        grad[b]++;
    }

    for (i = 1; i <= n; i++)
        for (j = 1; j <= n; j++)
            if(grad[j] == 0 && viz[j] == 0)
            {
                viz[j] = 1;
                g<<j<<" ";
                for (k = 0; k < oof[j].size(); k++)
                    grad[oof[j][k]]--;
                break;
            }

    return 0;
}