Cod sursa(job #2457878)

Utilizator gabriel_212MitracheG gabriel_212 Data 18 septembrie 2019 22:20:42
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 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<<" ";
        for(int j=0;j<G[a].size();j++){
   grad[G[a][j]]--;
  if(grad[G[a][j]]==0){
    sortarerecursiva(G[a][j]);
  }
        }


    }


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

}
sortarerecursiva(x);

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