Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. unsigned int Labyrinthe::priv_fouilleTousLesChemins(Coordonnee sommetActuel,
  2.       Coordonnee sommetArrivee, vector<Coordonnee>& sommetsMarques) const
  3. {
  4.  
  5.    unsigned int nombreDeChemins = 0;
  6.  
  7.    if (sommetActuel == sommetArrivee)
  8.    {
  9.       return 1;
  10.    }
  11.    else
  12.    {
  13.       sommetsMarques.push_back(sommetActuel);
  14.  
  15.       // voisins
  16.       vector<Graphe::PaireSommetCout> voisinsSommetActuel = m_graphe.listerSommetsAdjacents(
  17.             sommetActuel);
  18.  
  19.       // on elimine les voisins marques et on recall la fonction
  20.       for (vector<Graphe::PaireSommetCout>::iterator i = voisinsSommetActuel.begin(); i
  21.             != voisinsSommetActuel.end(); ++i)
  22.       {
  23.          if (find(sommetsMarques.begin(), sommetsMarques.end(), (*i).coordonnee)
  24.                == sommetsMarques.end())
  25.          {
  26.             nombreDeChemins += priv_fouilleTousLesChemins((*i).coordonnee, sommetArrivee,
  27.                   sommetsMarques);
  28.          }
  29.       }
  30.  
  31.       //cout << nombreDeChemins << endl;
  32.       return nombreDeChemins;
  33.  
  34.    }
  35.  
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement