Cod sursa(job #551619)

Utilizator dragoostoicadragos stoica dragoostoica Data 10 martie 2011 21:50:10
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
/* numarul de componente conexe cu DFS */

#include<stdio.h>
#define NMAX 51
bool a[NMAX][NMAX], viz[NMAX];
int n,m;
void dfs (int nod, int nr)
{
	int i;
	viz[nod]=nr;
	for (i=1;i<=n;i++)
		if (a[nod][i]==1 && viz[i]==0)
			dfs(i, nr);
}
int main()
{
	int i,x,y,nr=0;
		
		freopen("dfs.in","r",stdin);
		freopen("dfs.out","w",stdout);
			scanf("%d%d",&n,&m);
				for (i=1;i<=m;i++)
				{
					scanf("%d%d",&x,&y);
					a[x][y]=a[y][x]=1;
				}
				for (i=1;i<=n;i++)
					if (viz[i]==0) 
					{
						nr++; 
						dfs(i, nr);
					}
						printf("%d ",nr);
	return 0;
	
}