Cod sursa(job #359988)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 29 octombrie 2009 11:29:23
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;

vector <int> v[100001];
int n,k,viz[100001],nr,a,b;
void recur ( int poz)
{
	int i;
	if(viz[poz]==1)
		return;
	viz[poz]=1;
	for(i=1;i<=v[poz].size();i++)
		if(viz[v[poz][i]]==0)
			recur(v[poz][i]);
}
int main ()
{		
		int i;
		freopen( "dfs.in" , "r" , stdin);
		freopen( "dfs.out" , "w" , stdout);
		scanf("&n,&k");
		for(i=1;i<=n;i++)
		{
			scanf("%d%d",&a,&b);
			v[a].pusk_back(b);
			v[b].push_back(a);
		}
		for(i=1;i<=n;i++)
		{
			if(viz[i]==0)
			{
				nr++;
				recur(i);
			}
		}
		printf("%d",nr);
		return 0;
}