Cod sursa(job #649951)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 16 decembrie 2011 22:36:48
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
FILE*f=fopen("dfs.in","r");
FILE*g=fopen("dfs.out","w");
int A[1006][1006],n,m,viz[1006],ne,x,y,i,nd;
void DFS(int nd){
	int j;
	viz[nd]=1;
	for(j=1;j<=n;j++){
		if(!viz[j] && A[nd][j]==1)
			DFS(j);
	}
}
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;
	}
	for(i=1;i<=n;i++)
		if(!viz[i]){
			ne++;
			DFS(i);
		}
	fprintf(g,"%d",ne);
	return 0;
}