Cod sursa(job #669585)

Utilizator micutuzBalog Adrian micutuz Data 27 ianuarie 2012 12:44:04
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>
#include<vector>
#define DN 100005
using namespace std;

vector <vector<int> > gr(DN);
int viz[DN], n,m, cont=0;
void dfs( int nr)
{
	int i;
	viz[nr]=1;
	for(i=0;i<gr[nr].size();i++)
	{
		if(!viz[gr[nr][i]])
			dfs(gr[nr][i]);
	}
}
int main()
{
	int a,b;
	ifstream fin("dfs.in");
	ofstream fout("dfs.out");
	fin>>n>>m;
	
	for(int i=1;i<=m;i++)
	{
		fin>>a>>b;
		gr[a].push_back(b), gr[b].push_back(a);
	}
	for(int i=1;i<=n;i++)
	{
		if(!viz[i])
		{
			cont++;
			dfs(i);
		}
	}
	fout<<cont;
	
}