Cod sursa(job #554930)

Utilizator alexmiluAlex Milu alexmilu Data 15 martie 2011 10:36:13
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
#include<vector>
using namespace std;
int n,m,nc;
vector<int>a[100000];
int b[100000];
void dfs(int p)
{
	b[p]=1;int k;
	for(int j=0;j<=a[p].size();j++);
	{
		k=a[p][j];
		if (b[k]==0)
			dfs(k);
	}
}
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);
		a[x].push_back(y);
		a[y].push_back(x);
	}
	for(int i=1;i<=n;i++)
	{
		if (b[i]=0)
		{
			nc++;
			dfs(i);
		}
	}
	printf("%d",nc);
	return 0;
}