Cod sursa(job #3253061)

Utilizator LolluckestarNastasa-Baras Luca Lolluckestar Data 1 noiembrie 2024 10:11:45
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

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

vector<int> lista[50001];
queue<int> q;
int degree[50001];

void parcurgere(){
    while(!q.empty()){
        int nod = q.front();
        fout<<nod<<' ';
        q.pop();
        for(auto vecin : lista[nod]){
            degree[vecin]--;
            if(degree[vecin] == 0){
                q.push(vecin);
            }

        }
    }

}

int main()
{
    int n,m,n1,n2;
    fin>>n>>m;

    for(int i=0;i<m;i++){
        fin>>n1>>n2;
        lista[n1].push_back(n2);
        degree[n2]++;
    }

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

    parcurgere();

    return 0;
}