Cod sursa(job #3195117)

Utilizator hiken056Stefan Rusu hiken056 Data 20 ianuarie 2024 09:46:57
Problema Sortare topologica Scor 0
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, x, y;
vector <int> G[50010];
bool vizit[50010];
int rez[50010];
int dr;

void dfs (int nod) {
    vizit[nod] = 1;
    for ( auto it : G[nod]) {
        if ( ! vizit[it] ) {
            dfs(it);
        }
    }
    rez[dr++] = nod;
}

int main () {
    fin >> N >> M;
    int x, y;
    for ( int i = 1; i <= N; ++ i ){
        fin >> x >> y;
        G[x].push_back(y);
    }
    for ( int i = 1; i <= N; ++ i) {
        if ( ! vizit[i] ) {
            dfs(i);
        }
    }
    for ( int i = dr -1; i >= 0; --i ) {
        fout << rez[i]<< " ";
    }
    return 0;
}