Cod sursa(job #3187902)

Utilizator AdrianRosuRosu Adrian Andrei AdrianRosu Data 31 decembrie 2023 11:42:51
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
#define DIM 50001

using namespace std;

ifstream fin("sortaret.in");

ofstream fout("sortaret.out");

stack <int> st;

vector <int> G[DIM];

int found[DIM];

int n, Q, x, y, i;

void dfs(int node){

    found[node] = 1;

    for(int i = 0 ; i < G[node].size(); i++)

        if(!found[G[node][i]])

            dfs(G[node][i]);

    st.push(node);

}

int main(){

    fin >> n >> Q;

    while(Q--){

        fin >> x >> y;

        G[x].push_back(y);

    }

    for(i=1;i<=n;i++)

        if(!found[i])

            dfs(i);

    while(!st.empty()){

        fout << st.top() << " ";

        st.pop();

    }

}