Cod sursa(job #3334943)

Utilizator ThatScode24Mihai Focsa ThatScode24 Data 20 ianuarie 2026 19:06:01
Problema Algoritmul lui Dijkstra Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <vector>


void dfs(int c, const std::vector<std::vector<int>>&adj, std::vector<bool>&viz) {
    viz[c] = true;
    for(int v : adj[c]) {
        if(!viz[v]) {
            dfs(v, adj, viz);
        }
    }
}


int main(void) {

    int n, m, x, y, flag;
    std::cin >> n >> m;
    flag = 0;
    std::vector<bool>viz(n+1, false);
    std::vector<std::vector<int>>adj(n+1);

    for(int i=1;i<=m;++i) {
        std::cin >> x >> y;
        adj[y].push_back(x);
    }

    for(int i=1;i<=n;++i) {
        int rez = i;
        viz.assign(n+1, false);
        dfs(i, adj, viz);
        for(int j=1;j<=n;++j) {
            if(!viz[j]) { rez = -1; break; } 
        }
        if(rez != -1) {std::cout<<rez; flag = 1; break; }
    }
    if(!flag) std::cout<< "NU EXISTA";
    return 0;
}