Cod sursa(job #688246)

Utilizator Terr0rbladeGeorge Stefan Terr0rblade Data 23 februarie 2012 12:34:44
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
int viz[20],a[20][20],i,j,k,nr,n;
fstream f("dfs.in",ios::in),g("dfs.out",ios::out);

void citire(int a[20][20],int &n)
{f>>n;
while(f>>i>>j) a[i][j]=a[j][i]=1;f.close();}



void df(int nod)
{viz[nod]=1;
 for(k=1;k<=n;k++)
    if(a[nod][k]==1&&viz[k]==0)
		df(k);
}	

int main()
{citire(a,n);int ok;
 nr=0;df(1);
 memset (viz,0,sizeof(viz));
 do{ok=0;for(j=1;j<=n;j++) if(viz[j]==0) {df(j); nr++;ok=1;}}
   while(g==1);
 g<<nr;
}