Cod sursa(job #702496)

Utilizator samuelbumbarSamuel Bumbar samuelbumbar Data 1 martie 2012 22:11:00
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>

using namespace std;

ifstream fi ("dfs.in");
ofstream fo ("dfs.out");

int n, m, k, i, j, viz[11000], a[11000][11000];

void DFS (int nc, int k) {
  int i;
  viz[nc] = k;
  for (i = 1; i <= n; i++)
    if (a[nc][i] == 1 and viz[i] == 0)
      DFS(i, k);
}

int main() {
  fi >> n >> m;
  for (i = 1; i <= m; i++) {
    fi >> i >> j;
    a[i][j] = 1; a[j][i] = 1;
  }
  for (i = 1; i <= n; i++)
    if (viz[i] == 0)
      DFS(1,++k);
  fo << k-1;
	return 0;
}