Cod sursa(job #513089)

Utilizator dinuddinu dan dinud Data 15 decembrie 2010 08:16:57
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>

int  i,m,n,a[1000001][1000001],nc,v[1000001],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;
	}
	df(1);
	
	for(i=1;i<=n;i++)
		if(v[i]==0){
			nc++;
		}
	
	fprintf(g,"%d ",nc);
	
	fclose(f);
	fclose(g);
	return 0;
}