Cod sursa(job #2857086)

Utilizator dolorentiuDaniel Gadalean dolorentiu Data 24 februarie 2022 20:50:48
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
#include <fstream>
#define MAX 50100
#define pb push_back
using namespace std;

ifstream f("sortaret.in");
ofstream g("sortaret.out");

int n,m,viz[MAX],sol[MAX],p;
vector<int>C[MAX];

void cit(){
    f>>n>>m;
    int a,b;
    for(int i=1;i<=m;i++){
        f>>a>>b;
        C[a].pb(b);
    }
}

void df(int k){
    viz[k]=1;
    for(auto i : C[k])
        if(!viz[i])
            df(i);
    sol[++p]=k;
}

void afis(){
    for(int i=n;i>=1;i--)
        g<<sol[i]<<' ';
}

int main()
{
    cit();
    for(int i=1;i<=n;i++)
        if(!viz[i])
            df(i);
    afis();
    return 0;
}