Cod sursa(job #3145163)

Utilizator alex_cosmin005Ciotirnae Alexandru alex_cosmin005 Data 13 august 2023 13:21:04
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#include<stack>
#include<vector>

using namespace std;

ifstream cin("sortaret.in");
ofstream cout("sortaret.out");

int n,m;
vector <int> v[50001];
stack <int> ord;
int ok[50001];

void dfs(int nod){
    ok[nod]=1;
    for(unsigned int i=0;i<v[nod].size();i++)
        if(ok[v[nod][i]]==0)
            dfs(v[nod][i]);
    ord.push(nod);
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        int ii,jj;
        cin>>ii>>jj;
        v[ii].push_back(jj);
    }
    for(int i=1;i<=n;i++)
        if(ok[i]==0)
            dfs(i);
    while(!ord.empty()){
        cout<<ord.top()<<" ";
        ord.pop();
    }
    return 0;
}