Cod sursa(job #3296644)

Utilizator Carnu_EmilianCarnu Emilian Carnu_Emilian Data 15 mai 2025 08:52:48
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fcin("sortaret.in");
ofstream fcout("sortaret.out");
typedef long long ll;

const int N = 1e5 + 5;
vector<vector<int>> v(N);
vector<int> sol;
int n, m, a, b;
bool vizitat[N];

void DFS(int nod)
{
    vizitat[nod] = 1;
    for (int e : v[nod])
        if (!vizitat[e])
            DFS(e);
    sol.push_back(nod);
}

int main()
{
    fcin >> n >> m;
    for (int i = 1; i <= m; i++)
    {
        fcin >> a >> b;
        v[a].push_back(b);
    }
    for (int i = 1; i <= n; i++)
        if (!vizitat[i])
            DFS(i);
    reverse(sol.begin(), sol.end());
    for (int e : sol)
        fcout << e << ' ';
    fcout.close();
    fcin.close();
    return 0;
}