Cod sursa(job #614304)

Utilizator sanda-mariaPatras Sanda sanda-maria Data 5 octombrie 2011 22:32:01
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <fstream>
#include <iostream>
using namespace std;
int n,a[100][100],vizitat[100],contor=1;
// citire matrice de adiacenta din fisierul graf.in
void citire()
{int i,j;
  ifstream fin("graf.in");
  fin>>n;
  for(i=1;i<=n;i++)
     for(j=1;j<=n;j++) 
        fin>>a[i][j];
        
  fin.close();
}

//parcurgerea in adancime a grafului
void df(int k)
{int i;
     vizitat[k]=1;
     for(i=1;i<=n;i++)
        if (vizitat[i]==0&&a[k][i]==1)
            df(i);
}

int main()
{int i;
    citire();
    df(1);
    
    int ok=1;
    for(i=1;i<=n;i++)
      if (vizitat[i]==0) 
      {df(i);contor++;}
      
      
      
      
      
      cout<<"graful are "<<contor<<" componente conexe"<<"\n";
      
      
      /*ok=0;
      
    if (ok==1) cout<<"graf conex";
     else cout<<"graful nu este conex";*/
system("pause");
return 0;
}