Cod sursa(job #3368758)

Utilizator ilystefalexVaduva Stefan-Alexandru ilystefalex Data 15 octombrie 2026 17:11:44
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

bool viz[100005];
void dfs(int nod,vector<int> vecin[] ) {
    viz[nod]=true;
    for ( int vec: vecin[nod]) {
        if(!viz[vec]) {
            dfs(vec,vecin);
        }
    }
}

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

    int n,m;
    fin>>n>>m;
    vector<int> vec[1000005];
    int nod;
   for (int i=0;i<m;i++) {
       int nod,vecin;
       fin>>nod>>vecin;
       vec[vecin].push_back(nod);
       vec[nod].push_back(vecin);
   }

    for (int i=1;i<=n;i++) {
        if (!viz[i]) {
            conex++;

                dfs(i,vec);

        }
    }
    fout << conex<<"\n";




}