Cod sursa(job #2785821)

Utilizator razvanboabesrazvan boabes razvanboabes Data 19 octombrie 2021 16:39:30
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <vector>

using namespace std;

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

vector< vector <int>> edges;
vector <bool> viz;

void read() {
    int n,m;
    in>>n>>m;
    edges.resize(n);
    viz.resize(n);
    for(int i=0; i<m; i++) {
        int a,b;
        in>>a>>b;
        a--;
        b--;
        edges[a].push_back(b);
        edges[b].push_back(a);
    }
}
void dfs(int node) {
    viz[node]=1;
    for(auto next: edges[node])
        if(!viz[next])
            dfs(next);
}
int main() {
    read();
    int cnt=0;
    for(int i=0; i<edges.size(); i++)
        if(!viz[i]) {
            dfs(i);
            cnt++;
        }
    out<<cnt;
    return 0;
}