Cod sursa(job #221923)

Utilizator RebelulDonea Ovidiu Rebelul Data 18 noiembrie 2008 20:48:47
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
// http://infoarena.ro/problema/dfs  stare: neterminata  punctaj: 15
#include <fstream.h>

ifstream fin("dfs.in");
ofstream fout("dfs.out");

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

void dfs(int x)
{
  for(int i=1;i<=a[x][0];i++)
		if(viz[a[x][i]]==0)
			{
				viz[a[x][i]]=1;
				dfs(a[x][i]);
			}

}
int main()
{
	citire();
	for(i=1;i<=n;i++)
		if(viz[i]==0)
			{
				viz[i]=1;
				dfs(i);
				k++;
			}	
	fout<<k;
	return 0;
}