Cod sursa(job #2512274)

Utilizator DanielznaceniDaniel Danielznaceni Data 20 decembrie 2019 20:04:50
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>

#include <fstream>

#include <vector>

#define lim 100005



using namespace std;



ifstream in("dfs.in");

ofstream out("dfs.out");



int n, m, vizitat[lim], cate;



vector <int> v[lim];



void read()

{

    in>>n>>m;

    for(int i=1; i<=m; ++i)

    {

        int x, y;

        in>>x>>y;

        v[y].push_back(x);

        v[x].push_back(y);

    }



}



void afis()

{

    out<<cate<<'\n';


}



void dfs(int nod)

{

    if(vizitat[nod]==0)

    {

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

        {

            vizitat[v[nod][i]]=1;

            dfs(v[nod][i]);

        }

    }

}



void parcurgere()

{

    for(int i=1; i<=n; ++i)

    {

        if(vizitat[i]==0)

        {

            ++cate;

            dfs(i);

            vizitat[i]=1;

        }

    }

}



int main()

{

    read();

    parcurgere();

    afis();

    return 0;

}