Cod sursa(job #2891980)

Utilizator Tudor_EnacheEnache Tudor Tudor_Enache Data 20 aprilie 2022 12:49:04
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <vector>
#include <fstream>
using namespace std;

ifstream cin("dfs.in");
ofstream cout("dfs.out");

const int NMAX = 100001;

vector <int> adj[NMAX];
bool v[NMAX];
int n,cnx;

void citire(){
    int m, i,j;
    cin >> n>> m;
    while (cin >> i >> j){
        adj[i].push_back(j);
        adj[j].push_back(i);
    }
}

void dfs(int nod){
    v[nod] = 1;
    for (int i =0; i < adj[nod].size();++i){
        int vecin = adj[nod][i];
        if (!v[vecin])
            dfs(vecin);
    }
}

int main(){
    citire();
    for (int i =1; i <=n;++i){
        if (!v[i]){
            ++cnx;
            dfs(i);
        }
    }
    cout << cnx;
}