te recomiendo que lo hagas con un grafo ponderado y dirigido, asi llegarás a todas las partes del laberinto y otras cosas.Te recomiendo que lo hagas utilizando para construir el grafo una lista simplemente enlazada de vertices y una lista de adyacencia, donde se van a conectar la maroria de los vertices.
Si tienes algun problema
Ejemplo:
#include "NodoSE.h"//Esta es la clase NodoSimpleEnlazado para construir la lista
#include "ListaSE.h"
#include "Pila.h
#include "Cola.h""
template < typename L>
class GrafoLA
{
private:
ListaSE<L>* vertices;
ListaSE<ListaSE <L>>* aristas;
void BPA();
ListaSE<L> caminoMiimo();
ListaSE<L>RecorridoAloAncho(L vertice, L vertice2);
public:
Grafo();
int CaminoMinimo();
void InsertarVertice(L vertice);
void InsertarArista(L vertice, L vertice2);
bool Eliminarvertice(int pos);
bool ElminarArista( L vertice, Lvertice2);
float MenorCamino(ListaSE<L> vertices);
void Disjtraks(L vertice) ;
BuscarVertice(L Vertice);
BuscarArista(L vertice,L vertice2);
//sigues tu
};
//Esta es la declaración si tienes dudas :enviame un correo a
[email protected] ok