Cod sursa(job #3355851)

Utilizator PatrikKev75Szucs Patrik - Kevin PatrikKev75 Data 26 mai 2026 22:37:04
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
// https://infoarena.ro/problema/dfs - Szucs Patrik - Kevin
#include <fstream>
#include <vector>
#include <queue>

void dfs(std::vector<std::vector<int>> &graf, std::vector<bool> &vis, int a, int db)
{
    vis[a] = true;
    for (auto elem : graf[a])
    {
        if (!vis[elem])
        {
            dfs(graf, vis, elem, db);
            db++;
        }
    }
    return;
}

int main()
{
    int n, m;

    std::ifstream in("dfs.in");
    in >> n >> m;

    std::vector<std::vector<int>> graf(n);
    while (m--)
    {
        int x, y;
        in >> x >> y;

        x--;
        y--;
        graf[x].push_back(y);
        graf[y].push_back(x);
    }
    in.close();

    int db = 0;
    std::vector<bool> vis(n);
    vis[0] = true;
    dfs(graf, vis, 1, db);

    std::ofstream out("dfs.out");
    out << db;
    out.close();

    return 0;
}