Cod sursa(job #3300464)

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

using namespace std;

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


int n,m,a,b, mark[50005];
vector <int> v[50005];
stack <int> S;

void DFS(int nod){
    for (int i = 0; i < v[nod].size(); i++){
        if (!mark[v[nod][i]]){
            mark[v[nod][i]] = 1;
            DFS(v[nod][i]);
        }
    }
    S.push(nod);
}


int main()
{
fin>>n>>m;
for (int i = 1; i <= m; i++){
    fin>>a>>b;
    v[a].push_back(b);
}
for (int j = 1; j <= n; j++){
    if(!mark[j]){
        mark[j] = 1;
        DFS(j);
    }
}
while(S.empty() == false){
    fout << S.top() << " ";
    S.pop();
}
    return 0;
}