Cod sursa(job #734756)

Utilizator ms-ninjacristescu liviu ms-ninja Data 14 aprilie 2012 19:55:59
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <vector>
#include <queue>
#include <cstring>
using namespace std;
#define dim 100005
#define inf 0x3f3f3f3f
#define pb push_back
#define mp make_pair
#define fs first
#define sc second
int d[dim], viz[dim],n , m;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> v[dim];

void dfs(int nod)
{
	viz[nod]=1;
	for(int k=0;k<v[nod].size();++k)
		if(viz[v[nod][k]]==0)
			dfs(v[nod][k]);
}

int main()
{
	int i, a, b;
	fin>>n >>m;
	for(i=1;i<=m;++i)
	{
		fin>>a >>b;
		v[a].pb(b);
		v[b].pb(a);
	}
	
	int conex=0;
	for(i=1;i<=n;++i)
		if(viz[i]==0)
		{
			++conex;
			dfs(i);
		}
		
		fout<<conex;
	return 0;
}