Cod sursa(job #2872377)

Utilizator marcpopPop Marc Alexandru marcpop Data 16 martie 2022 21:35:50
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin ("dfs.in");
ofstream fout ("dfs.out");

vector<vector<int> > v;
vector<bool> viz;

int n, m, x, y, contor;

void dfs (int start) {

    viz[start] = 1;

    for (int i=0; i<v[start].size(); i++) {

        int vecin = v[start][i];

        if (!viz[vecin]) {
            dfs(vecin);
        }

    }

}

int main()
{

    fin>>n>>m;

    v = vector<vector<int> >(n+1);
    viz = vector<bool>(n+1, 0);

    for (int i=1; i<=m; i++) {

        fin>>x>>y;

        v[x].push_back(y);
        v[y].push_back(x);

    }

    for (int i=1; i<=n; i++) {

        if (!viz[i]) {
            dfs(i);
            contor++;
        }

    }

    fout<<contor;

    return 0;
}