Cod sursa(job #3289612)

Utilizator MihoiitaTelea Mihai-Laurentiu Mihoiita Data 27 martie 2025 17:37:46
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

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

int n;
//bool adiacente[101][101];
vector<vector<int> > adiacente(101, vector<int>());
stack<int> st;
bool viz[101];

void sortTop(int x) {
    viz[x] = true;
    for (int vecin : adiacente[x]) {
        if (!viz[vecin]) {
            sortTop(vecin);
        }
    }
    st.push(x);
}

void formMat(){
    int x, y;

    while(fin>>x>>y){
        adiacente[x].push_back(y);
        n=max(n, max(x, y));
    }
}

int main(){
    formMat();

    for (int i = 1; i <= n; i++) {
        if (!viz[i]) {
            sortTop(i);
        }
    }

    while(!st.empty()){
        fout<<st.top()<<" ";
        st.pop();
    }
}