Cod sursa(job #1749693)

Utilizator AhileGigel Frone Ahile Data 28 august 2016 15:57:57
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<bits/stdc++.h>
using namespace std;
#define in f
#define out g


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


int n;
int m;
int x;
int y;
vector <int> stl[100010];
int viz[100010];
int rez;

int dfs(int node) {

    viz[node] = true;
    for(int i = 0; i < stl[node].size(); i++) {
        if(viz[stl[node][i]] == false) {
            dfs(stl[node][i]);
        }
    }
}


int main() {

    in >> n;
    in >> m;
    for(int i = 1; i <= m; i++) {
        in >> x;
        in >> y;
        stl[x].push_back(y);
        stl[y].push_back(x);
    }

    for(int i = 1; i <= n; i++) {
        if(viz[i] == 0) {
            rez++;
        }
        dfs(i);
    }
    out << rez;
    return 0;
}