Cod sursa(job #2917987)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 8 august 2022 23:42:41
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#include <vector>
#include <bitset>

#define Nmax 50005

std::vector<std::vector<int>> G;
std::bitset<Nmax> used;
int N, M;

void DFS(int k) {
  used[k] = true;
  for (auto it: G[k])
    if (!used[it])
      DFS(it);
  printf("%d ", k + 1);
}

int main()
{
  freopen("sortaret.in", "r", stdin);
  freopen("sortaret.out", "w", stdout);
  
  scanf("%d%d", &N, &M);
  G.resize(N);
  int a,b;

  for (int i = 0; i < M; ++i) {
    scanf("%d%d", &a, &b);
    --a; --b;
    G[b].emplace_back(a);
  }

  for (int i = 0; i < N; ++i)
    if (!used[i])
      DFS(i);
  
  
  
  return 0;
}