Cod sursa(job #2169760)

Utilizator maenstru56Peteleaza Darius maenstru56 Data 14 martie 2018 17:16:40
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int n, m, viz[100005], ct;
vector <int> v[100005];

void citire(){
    in >> n >> m;

    for(int i = 1; i <= m; i++){
        int x, y;

        in >> x >> y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
}

void DFS(int nod){
    viz[nod] = 1;

    for(int i = 0; i < v[nod].size(); i++){
        int vec = v[nod][i];

        if(viz[vec] == 0)
            DFS(vec);
    }
}

void afis(){
    for(int i = 1; i <= n; i++)
        if(viz[i] == 0){
            DFS(i);
            ct++;
        }

    out << ct;
}

int main()
{
    citire();
    afis();

    return 0;
}