Cod sursa(job #865953)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 27 ianuarie 2013 12:50:01
Problema Parcurgere DFS - componente conexe Scor 50
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

typedef int sir[1005];
typedef int mat[1005][1005];

mat a; 
sir viz;
int n, m, x, y, nr, cnt;

void parc_adancime(int pl)
{
	int j;
	viz[pl] = 1;
	for(j=1;j<=n;j++)
		if((a[pl][j] == 1) && (viz[j] == 0)) 
			parc_adancime(j);
}

int main(void)
{
	int i;
	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])
		{
			cnt++;
			parc_adancime(i);
		}
	printf("%d", cnt);
	return 0;
}