Cod sursa(job #2605972)

Utilizator faalaviaFlavia Podariu faalavia Data 26 aprilie 2020 15:48:08
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include    <iostream>
#include    <fstream>
#include    <vector>
using namespace std;

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

#define NLIM 100001

bool viz[NLIM];

vector <int> Lista[NLIM];

void DFS(int nod)
{   viz[nod]=true;
    for(unsigned int i=0; i<Lista[nod].size(); i++)
    {
        if(!viz[Lista[nod][i]])
            DFS(Lista[nod][i]);
    }
}

int main()
{
    int conex=0;
    int N, M;
     fin>> N>> M;
    for(int i=1;i<=M;i++)
    {
        int x,y;
        fin>> x>> y;
        Lista[x].push_back(y);
        Lista[y].push_back(x);

    }

   for(int i=1; i<=N; i++)
   {
       if(!viz[i])
       {
           conex++;
           DFS(i);
       }
   }

   fout<<conex;

    return 0;
}