Cod sursa(job #2786839)

Utilizator VipioanaMirea Oana Teodora Vipioana Data 21 octombrie 2021 19:13:09
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
const int N=5e4+1;
int n,m,nrp[N];
vector <int> a[N];
queue <int> q;

int main() {

  f>>n>>m;
  for(int i=1; i<=m; i++){
    int x,y;
    f>>x>>y;
    a[x].push_back(y);
    nrp[y]++;
  }
  for(int i=1; i<=n; i++)
    if(!nrp[i])
        q.push(i);
  while(!q.empty()){
    int x=q.front();
    g<<x<<" ";
    q.pop();
    for(auto j:a[x]){
        nrp[j]--;
        if(!nrp[j])
            q.push(j);
    }
  }
  return 0;
}