Cod sursa(job #3369743)

Utilizator CristianBudalaCristian Budala CristianBudala Data 22 octombrie 2026 08:26:36
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <iostream>
#include <vector>

using namespace std;

vector<int> L[100001];
int viz[100001];

void dfs(int node) {
  viz[node] = 1;
  for (auto vec : L[node]) {
    if (viz[vec] == 0)
      dfs(vec);
  }
}

int main() {
  int n, m;
  ifstream fin("dfs.in");
  ofstream fout("dfs.out");
  fin >> n >> m;
  for (int i{1}; i <= m; i++) {
    int a, b;
    fin >> a >> b;
    L[a].push_back(b);
    L[b].push_back(a);
  }
  int nr{0};
  for (int i = 1; i <= n; i++) {
    if (viz[i] == 0) {
      nr++;
      dfs(i);
    }
  }
  fout << nr << "\n";
}