Cod sursa(job #2648322)

Utilizator LeCapataIustinian Serban LeCapata Data 10 septembrie 2020 11:19:02
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <vector>
#include <queue>
using namespace std;

ifstream in("sortaret.in");
ofstream out("sortaret.out");

vector< vector<int> > muchii(50005);
queue<int> coada;
bool fol[50005];
int n, m, nrNod;

int main()
{
    in>>n>>m;

    for(int i = 1; i <= m; ++i){
        int x, y;
        in>>x>>y;
        muchii[x].push_back(y);
    }
    coada.push(1);
    while(nrNod != n){
        int nod = coada.front();
        coada.pop();

        if(fol[nod])continue;

        nrNod++;
        for(size_t i = 0; i < muchii[nod].size(); ++i){
            coada.push(muchii[nod][i]);
        }
        out<<nod<<" ";
    }

    in.close();
    out.close();
    return 0;
}