Cod sursa(job #1048144)

Utilizator razvan2006razvan brezulianu razvan2006 Data 5 decembrie 2013 13:19:58
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<stdio.h>
#include<vector>
using namespace std;

int i, j, n, m, viz[100001];
vector<int> G[100001];

void dfs(int x) {
	viz[x] = 1;
	for (int t = 0; t < G[x].size(); t++)
		if (viz[G[x][t]] == 0) dfs(G[x][t]);
}

int main () {
	freopen ("dfs.in", "rt", stdin);
	freopen ("dfs.out", "wt", stdout);
	
	scanf ("%d%d", &n, &m);
	
	int x, y;
	for (int i = 0; i < n; i++) {
		scanf ("%d%d", &x, &y);
		G[x].push_back(y); G[y].push_back(x);
	}
	
	int i = 0, nc = 0;
	while (i < n) {
		dfs(i);
		nc++; i++;
	}
	
	printf ("%d\n", nc);
	
	return 0;
}