Cod sursa(job #2779772)

Utilizator casiannCasian casiann Data 4 octombrie 2021 21:17:13
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;

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

int n, m;
vector<vector<int>> G;
vector<int> vf;
stack<int> my_Stack;

void dfs(int k){
    vf[k] = 1;
    for(auto x: G[k]){
        if(!vf[x])dfs(x);
    }
    my_Stack.push(k);
}

int main(){
    fin >> n >> m ;
    G = vector<vector<int>> (n+1);
    vf = vector<int> (n+1);
    for(int i=1; i<=m; i++){
        int nod1,nod2;
        fin >> nod1 >> nod2;
        G[nod1].push_back(nod2);
    }
    dfs(1);
    while(!my_Stack.empty()){
        fout << my_Stack.top() << ' ';
        my_Stack.pop();
    }
    return 0;
}