Cod sursa(job #600255)

Utilizator ELHoriaHoria Cretescu ELHoria Data 30 iunie 2011 22:20:26
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <vector>

using namespace std;

int x , y , n , m , c;
vector<int> G[100001];
bool a[1000001];

void dfs(int& node)
{
	a[node] = true;
	for(int i=0;i<(int)G[node].size();++i)
		if(a[G[node][i]] == false)
			dfs(G[node][i]);
}

int main()
{
	freopen("dfs.in","r",stdin);
	freopen("dfs.out","w",stdout);
	scanf("%d %d",&n,&m);
	for(;m;m--)
		scanf("%d %d",&x,&y) , G[x].push_back(y) ,G[y].push_back(x);
	for(int i=1;i<=n;++i)
		if(a[i] == false) ++c , dfs(i);
	printf("%d",c);
	return 0;
}