Cod sursa(job #3167325)

Utilizator stefanscdStefan stefanscd Data 10 noiembrie 2023 16:53:34
Problema Sortare topologica Scor 100
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,x,y,k;
vector<vector<int> > G;
vector<int> timp,viz;
void DFS(int nod){
    viz[nod]=1;
    for(auto t:G[nod])
        if(viz[t]==0)
            DFS(t);
    timp[++k]=nod;
}
void solutie(){
    for(int i=1;i<=n;++i)
        if(viz[i]==0)
            DFS(i);
    for(int i=n;i>=1;i--)
        fout<<timp[i]<<" ";
}
int main()
{
    fin>>n>>m;
    timp=viz=vector<int> (n+1);
    G=vector<vector<int>> (n+1);
    for(int i=1;i<=m;++i){
        fin>>x>>y;
        G[x].push_back(y);
    }
    solutie();
    return 0;
}