Cod sursa(job #2594003)

Utilizator eugen5092eugen barbulescu eugen5092 Data 5 aprilie 2020 10:48:57
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;

ifstream ci("sortaret.in");
ofstream cou("sortaret.out");

int n,m,top;
vector<int>v[50010];
int vis[50010];
int srt[50010];

void citire(){
    int i,a,b;
    ci>>n>>m;
    for(i=1;i<=m;i++){
        ci>>a>>b;
        v[a].push_back(b);
    }
}

void Dfs(int nod){

    for(auto i:v[nod]){
        if(vis[i]==0){
            vis[i]=1;
            Dfs(i);

        }
    }
    srt[++top]=nod;

}

int main()
{
    citire();
    int i;
    for(i=1;i<=n;i++){
        if(vis[i]==0){
            Dfs(i);
        }
    }
    for(i=n;i;i--){
        cou<<srt[i]<<" ";
    }
    return 0;
}