Cod sursa(job #2083985)

Utilizator TeodorAxinteAxinte Teodor TeodorAxinte Data 8 decembrie 2017 14:25:03
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

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

const int N=100010;
unsigned int n, m, x, y, sis, vizitat[N];

vector<int> graf[N];

void g_fill(unsigned int i)
{
   vizitat[i]=1;
   for(auto j=0;j<graf[i].size();j++)
   {
      if(vizitat[graf[i][j]]==0)
      {
         g_fill(graf[i][j]);
      }
   }
}

int main()
{
   fin>>n>>m;
   for(unsigned i=1;i<=m;i++)
   {
      fin>>x>>y;
      graf[x].push_back(y);
      graf[y].push_back(x);
   }
   for(unsigned i=1;i<=n;i++)
   {
      if(vizitat[i]==0)
      {
         g_fill(i);
         sis=sis+1;
      }
   }
   fout<<sis;
   return 0;
}