Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned int Labyrinthe::priv_fouilleTousLesChemins(Coordonnee sommetActuel,
- Coordonnee sommetArrivee, vector<Coordonnee>& sommetsMarques) const
- {
- unsigned int nombreDeChemins = 0;
- if (sommetActuel == sommetArrivee)
- {
- return 1;
- }
- else
- {
- sommetsMarques.push_back(sommetActuel);
- // voisins
- vector<Graphe::PaireSommetCout> voisinsSommetActuel = m_graphe.listerSommetsAdjacents(
- sommetActuel);
- // on elimine les voisins marques et on recall la fonction
- for (vector<Graphe::PaireSommetCout>::iterator i = voisinsSommetActuel.begin(); i
- != voisinsSommetActuel.end(); ++i)
- {
- if (find(sommetsMarques.begin(), sommetsMarques.end(), (*i).coordonnee)
- == sommetsMarques.end())
- {
- nombreDeChemins += priv_fouilleTousLesChemins((*i).coordonnee, sommetArrivee,
- sommetsMarques);
- }
- }
- //cout << nombreDeChemins << endl;
- return nombreDeChemins;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement