Cod sursa(job #2457888)

Utilizator gabriel_212MitracheG gabriel_212 Data 18 septembrie 2019 22:35:20
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <vector>
#define limit 50100
using namespace std;
int n,m,a,b;
vector <int>G[limit];
int viz[limit]{};
int grad[limit]{};
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

void citire(){
fin>>n>>m;
for(int i=1;i<=m;i++){
        fin>>a>>b;
    G[a].push_back(b);
    grad[b]++;
}
}
void sortarerecursiva(int a){
fout<<a<<" ";
int x=G[a].size();
        for(int j=0;j<x;j++){
   grad[G[a][j]]--;
  if(grad[G[a][j]]==0){
    sortarerecursiva(G[a][j]);
  }
        }

    }


int main()
{citire();
int x=0;
for(int i=1;i<=n;i++){
    if(grad[i]==0){
        x=i;
    }
}
sortarerecursiva(x);

fin.close();
fout.close();
    return 0;
}