Cod sursa(job #222103)

Utilizator andyciupCiupan Andrei andyciup Data 20 noiembrie 2008 12:55:04
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
#include<vector>
using namespace std;
int m, n,x, y, contor=0, viz[100005]={0, 0};

vector<int> v[100005];

void df(int nod){
	viz[nod] = 1;
	
	for (int i = 0; i < v[nod].size(); i ++)
		if (!viz[v[nod][i]])
			df(v[nod][i]);
}
void conex(){
	for(int i=1; i<=n; ++i)
		if(viz[i]==0){
			df(i);
			contor++;
		}
	printf("%d", contor);
}

int main(){
	freopen("dfs.in", "r", stdin);
	freopen("dfs.out", "w", stdout);
	scanf("%d%d", &n, &m);
	
	for (int i = 1; i <= m; i ++){
		scanf("%d%d", &x, &y);
		
		v[x].push_back(y);
		v[y].push_back(x);
	}
	conex();
	
	
}