Cod sursa(job #513092)

Utilizator BeRReTLiviu P. BeRReT Data 15 decembrie 2010 08:37:28
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream.h>
#include <fstream.h>
int a[100][100], N, M, nr1, nr2, i, nc,v[100]; 
ifstream f("dfs.in");
ofstream g("dfs.out");
void df(int, int);
int main (){
	f>>N>>M;
	for(i=1;i<=N;i++){
		f>>nr1>>nr2;
		a[nr1][nr2]=a[nr2][nr1]=1;}
	nc=0;
	for(i=1;i<=N;i++)
		if(v[i]==0){
			nc++;
			df(i,nc);
		}
	g<<nc;
	f.close();
	return 0;
}
void df(int i, int k){
	v[i]=k;
	for(int p=1;p<=N;p++)
		if(a[i][p]==1 && v[p]==0)
			df(p,k);
}