Cod sursa(job #513105)

Utilizator dinuddinu dan dinud Data 15 decembrie 2010 08:53:11
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
#define DIM 100001
int  i,m,n,a[DIM][DIM],nc,v[DIM],x,y;

FILE *f = fopen("dfs.in","r");
FILE *g = fopen("dfs.out","w");

void df(int k){
	int i;
	v[k]=1;
	for(i=1;i<=n;i++)
		if(a[k][i]==1 && v[i]==0){
			df(i);
		}
}



int main (){
	
	fscanf(f,"%d %d",&n,&m);
	for(i=1;i<=m;i++){
		fscanf(f,"%d %d",&x,&y);
		a[x][y]=a[y][x]=1;
	}
	x=1;
	
	
	for(i=1;i<=n;i++)
		if(v[i]==0){
			df(i);
			nc++;
		}
	
	fprintf(g,"%d ",nc);
	
	fclose(f);
	fclose(g);
	return 0;
}