Cod sursa(job #688240)

Utilizator Terr0rbladeGeorge Stefan Terr0rblade Data 23 februarie 2012 12:31:55
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
int viz[20],a[20][20],i,j,k,nr,n,m=0,z;
fstream f("Muchii.in",ios::in),g("Muchii.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 afisare()
{for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
	cout<<a[i][j]<<' ';
cout<<endl;}}

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

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