Cod sursa(job #3300467)

Utilizator ValiAntonieAntonie Valentin ValiAntonie Data 16 iunie 2025 12:28:32
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

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


int n,m,a,b, degree[50005];
vector <int> v[50005];
queue <int> Q;

void BFS(){
    while(!Q.empty()){
        int nod = Q.front();
        Q.pop();
        fout << nod << " ";
        for (int i = 0; i < v[nod].size(); i++){
            degree[v[nod][i]]--;
            if (!degree[v[nod][i]])
                Q.push(v[nod][i]);
        }
    }
}


int main()
{
fin>>n>>m;
for (int i = 1; i <= m; i++){
    fin>>a>>b;
    v[a].push_back(b);
    degree[b]++;
}
for (int j = 1; j <= n; j++){
    if(!degree[j]){
        Q.push(j);
    }
}
BFS();
    return 0;
}