Cod sursa(job #3248523)

Utilizator dragospatakiDragospataki dragospataki Data 12 octombrie 2024 09:48:54
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <bits/stdc++.h>

using namespace std;
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");

vector <int> nod[100005];
stack <int> order;
int viz[100005];
int n,m;
void dfs(int s){
    viz[s]=1;
    for(int i=0;i<nod[s].size();i++){
        if(!viz[nod[s][i]]){
            dfs(nod[s][i]);
        }
    }
    order.push(s);
}
int main(){
    in>>n>>m;
    for(int i=1;i<=m;i++){
        int x;
        int y;
        in>>x>>y;
        nod[x].push_back(y);
    }
    for(int i=1;i<=n;i++){
        if(viz[i]==0){
            dfs(i);
        }
    }
    while(!(order.empty())){
        out<<order.top()<<" ";
        order.pop();
    }
    return 0;
}