Cod sursa(job #2807672)

Utilizator robee1Chitu Robert-Alexandru robee1 Data 24 noiembrie 2021 05:59:02
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <stack>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
bool verif[100001];
stack <int> stiva;
vector<int>muchii[100001];

void dfs(int nod){
    verif[nod]=true;
    for(int i=0;i<muchii[nod].size();i++){
        int vecin = muchii[nod][i];
            if (!verif[vecin])
                dfs(vecin);
   }
    stiva.push(nod);
}
int main()
{
int n,m;
f>>n>>m;
for (int i=1;i<=m;i++){
    int x,y;
    f>>x>>y;
    muchii[x].push_back(y);
}
for(int i=1;i<=n;i++){
    if(!verif[i])
        dfs(i);
}
while(!stiva.empty()){
    g<<stiva.top()<<" ";
    stiva.pop();
}
    return 0;
}