Cod sursa(job #2549878)

Utilizator rusu.ralucaRusu Raluca rusu.raluca Data 18 februarie 2020 08:49:39
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream> 
#include <fstream>
#include <vector>

using namespace std; 
 
#define N 50005
#define M 100005  
 
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

int n, m, x, y;
vector <int> v[N];
int viz[N];
 
int dfs(int nod){
    viz[nod] = 1;
    for(int i=1; i<v[nod].size(); i++){
        if(viz[v[nod][i]] == 0){
            dfs(v[nod][i]);
        }
    }
    return nod;
}
 
int main(){
    fin >> n >> m;
    for(int i = 1; i <= m; i++){
        fin >> x >> y;
        v[y].push_back(x);
    }
    for(int i = 1; i <= n; i++){
        if(viz[i]==0){
            fout << dfs(i) << " ";
        }
    }         
}