Cod sursa(job #3322213)

Utilizator preda_alexandraPreda Maria Alexandra preda_alexandra Data 13 noiembrie 2025 09:35:24
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <fstream>
using namespace std;
ifstream fin ("graf.in");
ofstream fout("graf.out");

vector<vector<int>> graf;
vector<int> viz;

void dfs(int x)
{
    viz[x] = 1;
    for(auto &i : graf[x])
        if(viz[i] == 0)
            dfs(i);
}

int main()
{
   int N,M;
   fin>>N>>M;
   graf.resize(N+1);
   viz.assign(N+1, 0);
   for(int i=1; i<=M; i++)
   {
       int X,Y;
       fin>>X>>Y;
       graf[X].push_back(Y);
       graf[Y].push_back(X);
   }

   int nr = 0;

   for(int i=1; i<=N; i++)
   {
        if(viz[i] == 0)
        {
            dfs(i);
            nr++;
        }
   }
   fout<<nr;



    return 0;
}