Cod sursa(job #3318252)

Utilizator PhonkFartPhonk Fart PhonkFart Data 27 octombrie 2025 17:22:50
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

int NOD_MAX=50001;

vector <int> viz(NOD_MAX), ord;
vector <vector<int>> graf(NOD_MAX);

int n, m;

void dfs(int start){
    viz[start]=1;
    for(int i : graf[start]){
        if(!viz[i]){
            dfs(i);
        }
    }
    ord.push_back(start);
}

int main(){
    cin >> n >> m;
    for(int i=1; i<=m; i++){
        int a, b;
        cin >> a >> b;
        graf[a].push_back(b);
    }
    for(int i=1; i<=n; i++){
        if(!viz[i]){
            dfs(i);
        }
    }
    reverse(ord.begin(), ord.end());
    for(int i : ord){
        cout << i << " ";
    }

    return 0;
}