Cod sursa(job #639603)

Utilizator AnaGeorgescuAna-Maria Catalina Georgescu AnaGeorgescu Data 23 noiembrie 2011 17:29:44
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#define nmax 1000
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int a[nmax][nmax], n, viz[nmax];

void citire()
{
	int i, x, y, m;
	fin>>n>>m;
	for(i=1;i<=m;i++)
	{    fin>>x>>y;
	    a[x][y]=a[y][x]=1;
	}
}

int dfs(int x)
{
	viz[x]=1;
	for(int i=1;i<=n;i++)
		if(a[x][i] && !viz[i])
			dfs(i);
}
int main ()
{
	citire();
	
	int i, c=0;
	for(i=1;i<=n;i++)
	if(!viz[i])
		dfs(i), c++;
	
	fout<<c;
	
	fin.close();
	fout.close();
	return 0;
}