Cod sursa(job #2571245)

Utilizator vmnechitaNechita Vlad-Mihai vmnechita Data 4 martie 2020 21:53:16
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
#define NMAX 100005

using namespace std;

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

vector < int > v[NMAX];
bitset < NMAX > viz;

void dfs ( int nod );

int main()
{
    int n, m, x, y, i, nr = 0;

    fin >> n >> m;
    while ( m-- )
    {
        fin >> x >> y;
        v[x].push_back ( y );
        v[y].push_back ( x );
    }

    for ( i = 1 ; i <= n ; i++ ) if ( viz[i] == 0 ) nr++, dfs ( i );

    fout << nr;

    return 0;
}


void dfs ( int nod )
{
    int i;

    viz[nod] = 1;
    for ( i = 0 ; i < v[nod].size() ; i++ ) if ( viz[v[nod][i]] == 0 ) dfs ( v[nod][i] );
}