Cod sursa(job #2458605)

Utilizator KataIsache Catalina Kata Data 21 septembrie 2019 10:41:40
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");

vector <int> M[100002];
bool us[100002];
void dfs (int x);
int main()
{
  int n,i,m,x,y,nr=0;
  fin>>n>>m;
  for (i=1; i<=m; i++)
      {
       fin>>x>>y;
       M[x].push_back(y);
       M[y].push_back(x);
      }
  for (i=1; i<=n; i++)
    if (!us[i])
      {
        nr++;
        dfs(i);
      }
  fout<<nr;
  return 0;
}
void dfs (int x)
{
  int i;
  if (us[x]) return;
  us[x]=1;
  for (i=0; i<M[x].size(); i++)
      dfs(M[x][i]);
}