Cod sursa(job #401513)

Utilizator maditzaaciuca madalina maditzaa Data 22 februarie 2010 21:43:52
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream.h>
#include <fstream.h>
ifstream f("dfs.in");
ofstream g("dfs.out");
int a[1001][1001],n,m,i,j,viz[1001],nr=1;


void creare(){
	f>>n>>m;
	while(f>>i>>j)
		a[i][j]=a[j][i]=1;
}
void df(int x){
	int i;
	viz[x]=nr;
	for(i=1;i<=n;i++)
		if(a[i][x]==1&&!viz[i])
			df(i);
}
int main(){
	creare();
	for(i=1;i<=n;i++)
		if(!viz[i]){
			df(i);
			nr++;
		}
	g<<nr-1;
	
	f.close();
	g.close();
	return 0;
}