Cod sursa(job #2810595)

Utilizator petru-robuRobu Petru petru-robu Data 29 noiembrie 2021 19:24:48
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;

vector<int> graf[100001];
bitset<100001> viz;
ifstream fin("dfs.in");
ofstream fout("dfs.out");


void DFS(int nod)
{
  int y;
  viz[nod]=1;
  cout<<nod<<" ";
  for(int i=0;i<graf[nod].size();i++)
  {
    y = graf[nod][i];
    if(!viz[y]) DFS(y);
  }
}


int main()
{
  int n, m, x ,y;
  fin>>n>>m;
  for(int i=1;i<=m;i++)
    {
        fin>>x>>y;
        graf[x].push_back(y);
        graf[y].push_back(x);
    }
    int nr_comp_conexe = 0;
      for(int i=1;i<=n;++i)
          if(viz[i]==0)//am gasit un nod nevizitat
          {
              DFS(i);
              nr_comp_conexe++;
          }
      ofstream fout("dfs.out");
      fout<<nr_comp_conexe<<"\n";
      fout.close();





  DFS(1);
}