Cod sursa(job #698899)

Utilizator Marius96Marius Gavrilescu Marius96 Data 29 februarie 2012 16:36:40
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<cstdio>
#include<vector>
using namespace std;
vector<int> v[100005];
bool b[100005];
void fill (int x)
{
	if(b[x])
		return;
	b[x]=true;
	for(vector<int>::iterator it=v[x].begin();it!=v[x].end();it++)
		fill (*it);
}
int main()
{
	freopen ("dfs.in","r",stdin);
	freopen ("dfs.out","w",stdout);
	int n,m;
	scanf ("%d%d",&n,&m);
	while(m--){
		int x,y;
		scanf ("%d%d",&x,&y);
		v[x].push_back (y);
		v[y].push_back (x);
	}
	int nr=0;
	for(int i=1;i<=n;i++)
		if(!b[i]){
			fill (i);
			nr++;
		}
	printf ("%d",nr);
	return 0;
}