Cod sursa(job #3309311)

Utilizator MXelAMocanu Alexandru-Matei MXelA Data 3 septembrie 2025 15:17:23
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 100000

using namespace std;

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

vector<int> v[NMAX+1];

vector<bool> vis(NMAX+1);

int n,m;

void dfs(int node);

int main()
{
    int i,cnt=0,a,b;
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    for(i=1;i<=n;i++)
    {
        if(vis[i]==0)
        {
            cnt++;
            dfs(i);
        }
    }
    fout<<cnt;
    return 0;
}

void dfs(int node)
{
    vis[node]=1;
    for(auto it : v[node])
    {
        if(vis[it]==0)
        {
            dfs(it);
        }
    }
}