Cod sursa(job #2458674)

Utilizator OctavianVasileVasileOctavian OctavianVasile Data 21 septembrie 2019 12:08:33
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
#define NMAX 100003
vector <int> v [NMAX];
bool viz [2 * NMAX];
int n, m, a, b, ans;
void dfs (int nod){
    viz [nod] = 1;
    for (int i = 0; i < v [nod].size (); i ++){
        if (viz [v [nod][i]] == 0)
            dfs (v [nod][i]);
    }
}
int main (){
    fin >> n >> m;
    for (int i = 1; i <= m; i ++){
        fin >> a >> b;
        v [a].push_back (b);
        v [b].push_back (a);
    }
    for (int i = 1; i <= n; i ++){
        if (viz [i] == 0){
            ans ++;
            dfs (i);
        }
    }
    fout << ans;
    return 0;
}