Cod sursa(job #3272163)

Utilizator pacelaaaCiurea Pavel pacelaaa Data 28 ianuarie 2025 17:07:53
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

#define Nmax 100001

vector<int> adj[Nmax];
bool used[Nmax];

void dfs( int u ) {
    if ( used[u] )
      return;
    used[u] = true;
        for ( int i = 0; i < adj[u].size(); i ++ )
          dfs( adj[u][i] );
}

int main()
{
    int n, m, u, v, i, ans;
    ifstream fin ( "dfs.in" );
    ofstream fout ( "dfs.out" );
    fin >> n >> m;
    for ( i = 0; i < m; i ++ ) {
        fin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }

    ans = 0;
    for ( i = 1; i <= n; i ++ ) {
      if ( used[i] == false )
        ans++;
      dfs( i );
    }
    fout << ans << "\n";

    fin.close();
    fout.close();

    return 0;
}