Cod sursa(job #2484410)

Utilizator OvidRata Ovidiu Ovid Data 31 octombrie 2019 08:49:14
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
ifstream fin("sortaret.in"); ofstream fout("sortaret.out");

vector<vector<int> > g;
vector<int> v;
list<int> l;
int n, m, x, y;


void dfs(int s){
v[s]=true;


for(auto i=g[s].begin(); i!=g[s].end(); i++){
    if(!v[*i]){dfs(*i);}
}


l.push_front(s);

}



int main(){
fin>>n>>m;
g.resize(n+1);
v.resize(n+1, 0);
for(int i=1; i<=m; i++){
fin>>x>>y;
g[x].pb(y);
}

for(int i=1; i<=n; i++){
    if(!v[i]){
    dfs(i);}
}




while(!l.empty()){
     fout<<l.front()<<' ';
     l.pop_front();
}


    return 0;
}