Cod sursa(job #2790272)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 28 octombrie 2021 18:10:33
Problema Andrei Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;

#define debug(x) cerr << #x << " = " << x << "\n";

ifstream in("sortaret.in");
ofstream out("sortaret.out");

const int max_n = (int)5e4 + 5;

int n, m;

vector<int> g[max_n];

bool visited[max_n];

vector<int> order;

void dfs(int u) {
  visited[u] = true;
  for (int v : g[u]) {
    if (!visited[v]) {
      dfs(v);
    }
  }
  order.push_back(u);
}

int main() {
  in >> n >> m;
  for (int i = 1; i <= m; i++) {
    int u, v;
    in >> u >> v;
    g[u].push_back(v);
  }
  for (int i = 1; i <= n; i++) {
    if (!visited[i]) {
      dfs(i);
    }
  }
  reverse(order.begin(), order.end());
  for (int val : order) {
    out << val << " ";
  }
  return 0;
}