Cod sursa(job #3342913)

Utilizator altomMirel Fanel altom Data 26 februarie 2026 09:29:42
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

int n, m, i, a, b;
vector<int> ad[50005], sol;
int fr[50005], vaz[50005];

void dfs(int nod){
    if(vaz[nod])
        return;
    vaz[nod]=1;
    for(int i=0;i<ad[nod].size();i++){
        dfs(ad[nod][i]);
    }
    sol.push_back(nod);
}

int main()
{
    fin>>n>>m;

    for(i=1;i<=m;i++){
        fin>>a>>b;
        ad[a].push_back(b);
        fr[b]=1;
    }

    for(i=1;i<=n;i++){
        if(fr[i]==0){
            dfs(i);
        }
    }

    for(i=sol.size()-1;i>=0;i--){
        fout<<sol[i]<<" ";
    }



    return 0;
}