Cod sursa(job #3354305)

Utilizator andutu0Lungu Andrei andutu0 Data 17 mai 2026 13:43:08
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <vector>
#include <fstream>
#include <queue>
using namespace std;

const int N = 1e5;

vector<bool> visited(N+1, false);
vector<vector <int>> graf (N+1);

void dfs(int nod) {
    visited[nod] = true;
    for(auto vecin : graf[nod]) {
        if (visited[vecin] == false)
            dfs(vecin);
    }
}

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

    int n, m;

    fin >> n >> m;

    for (int i = 0 ; i < m; i++) {
        int a, b;
        fin >> a >> b;
        graf[a].push_back(b);
        graf[b].push_back(a);
    }

    int cc = 0;

    for (int i = 1; i <= n; i++) {
        if (visited[i] == false) {
            dfs(i);
            cc++;
        }
    }

    fout << cc << "\n";
    
    return 0;
}