Cod sursa(job #2041859)

Utilizator herbertoHerbert Mohanu herberto Data 17 octombrie 2017 20:37:18
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
const int MAXN= (int) 1e5;
vector <int> g[MAXN+1];
int w;
char viz[MAXN];
void dfs(int nod){
  viz[nod]=1;
  for(int i=0; i<g[nod].size(); i++){
    int it=g[nod][i];
    if(viz[it]==0)
      dfs(it);
  }
}


int main(){
  FILE*fin=fopen("dfs.in", "r");
  FILE*fout=fopen("dfs.out", "w");
  int n, m, i, x, y, cnt;
  fscanf(fin, "%d", &n);
  fscanf(fin, "%d%d", &n, &m);
  for(i = 1; i <= m; i++) {
      fscanf(fin, "%d%d", &x, &y);
      g[x].push_back(y);
      g[y].push_back(x);
  }
  cnt=0;
  for(i=1; i<=n; i++)
    if(viz[i]==0){
      cnt++;
      dfs(i);
    }
  fprintf(fout, "%d", cnt+1);
  return 0;
}