Cod sursa(job #717770)

Utilizator GrimpowRadu Andrei Grimpow Data 20 martie 2012 10:53:09
Problema Parcurgere DFS - componente conexe Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
#include<iostream>
#include<vector>
using namespace std;
int p=0,x[100000],n,a,b;
vector<int> v[100000];

void dfs(int i)
{
    x[i]=1;
	for ( vector<int>::iterator it=v[i].begin() ; it!=v[i].end() ; ++it )
	{

	 	if(!x[*it]){
            x[*it]=1;
	 	    dfs(*it);
	 	}

	}




}

void solve()
{
	for(int i=1;i<=n;++i)
	{
		if(!x[i]){
		    p++;
			dfs(i);}

	}

}




int main()
{
	int m;
	ifstream f("dfs.in");
	f>>n>>m;
	for(int i=0;i<m;++i)
	{
		f>>a>>b;
		v[a].push_back(b);
		v[b].push_back(a);
	}
	solve();
	ofstream g("dfs.out");
	g<<p;
	return 0;
}