Cod sursa(job #2713900)

Utilizator TiberiwTiberiu Amarie Tiberiw Data 28 februarie 2021 20:38:18
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <iostream>
#include <vector>
#define DMAX 100005
using namespace std;

ifstream f("dfs.in");
ofstream g("dfs.out");
vector < int > Muchii[DMAX];
bool viz[DMAX];
int n,m;
unsigned int nr;

void DFS(int v)
{
    viz[v]=true;
    for(unsigned int i=0; i<Muchii[v].size(); i++)
    {
        int Vecin = Muchii[v][i];


        if(!viz[Vecin])
        {
             DFS(Vecin);
        }

    }

}



void citire()
{
  f>>n>>m;
  for(int i=1;i<=m;i++)
  {
      int x,y;
      f>>x>>y;
      Muchii[x].push_back(y);
      Muchii[y].push_back(x);
  }

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


}


int main()
{
    citire();
    g<<nr;


    return 0;
}