Cod sursa(job #230399)

Utilizator georgepalPal George Catalin georgepal Data 13 decembrie 2008 20:44:58
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
int a[1005][1005],n,m,viz[1005],nr=0;
void citire()
	{
	FILE*f=fopen("dfs.in","r");
	fscanf(f,"%d %d",&n,&m);
	int i,x,y;
	for(i=1;i<=m;i++)
		{fscanf(f,"%d %d",&x,&y);
		a[x][y]=a[y][x]=1;}
        fclose(f);
	}
void DFS(int x)
	{
	int i;
	viz[x]=1;
	for(i=1;i<=n;i++)
		if(!viz[i] && a[x][i]) DFS(i);
	}
int main()
	{
	citire();
	for(int i=1;i<=n;i++)
		if(!viz[i]) {nr++;DFS(i);}
	FILE*g=fopen("dfs.out","w");
	fprintf(g,"%d",nr);
	fclose(g);
	return 0;
	}