Cod sursa(job #2568246)

Utilizator MihclerioVladimir Chim Mihclerio Data 3 martie 2020 21:39:21
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>

const int nmax=1e5+3;

using namespace std;

vector<int>v[nmax];
vector<bool>f(nmax,0);
int n,m,k,ans;

void dfs(int k)
{
  f[k]=1;
  for(auto it:v[k])
  if(!f[it]) dfs(it);
}

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);

    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
      int x,y;
      cin>>x>>y;
      v[x].push_back(y);
      v[y].push_back(x);
    }
    for(int i=1;i<=n;i++)
    if(!f[i])
    {
      ans++;
      dfs(i);
    }
    cout<<ans;

}