Cod sursa(job #2841305)

Utilizator ilies_andrei-cristianIlies Andrei-Cristian ilies_andrei-cristian Data 29 ianuarie 2022 15:24:55
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,k,viz[50005],sol[50005];
vector <int> G[50005];
void DFS(int x){
    viz[x]=1;
    for(unsigned int j,i=0;i<G[x].size();i++){
        j=G[x][i];
        if(!viz[j])
            DFS(j);
    }
    sol[++k]=x;
}
int main(){
    f>>n>>m;
    for(int a,b,i=1;i<=m;i++){
        f>>a>>b;
        G[a].push_back(b);
    }
    for(int i=1;i<=n;i++)
        if(!viz[i])
           DFS(i);
    for(int i=n;i;i--)
        g<<sol[i]<<' ';
    f.close();
    g.close();
    return 0;
}