Hola, tengo un fichero de texto con un laberinto de este estilo que lo cargo en una matriz:
##############E######## ####
# ## # #### # #
# ########
########### #####S#########
Una vez cargado, quiero comprobar si existe un camino válido, es decir, que puedo llegar desde E(entrada) hasta S (salida) sin problemas. En este caso debería indicarme que sí, pero por ejemplo, en este otro:
##############E######## ####
# ## # #### ### ## #
# ##########
########### #####S#########
Debería decirme que no porque hay una '#' bloqueando la entrada, tampoco podría si bloquea la salida o hay símbolos '#' que cortan el paso entre la entrada y la salida en cualquier punto de la matriz.
La entrada y salida pueden estar en cualquiera de los bordes del rectangulo, asi que cada vez habra que buscar un camino distinto según la situación.
Tenéis algún ejemplo o link para hacer esto con algún algoritmo de búsqueda en amplitud o algo parecido?
Lo necesitaría en C o C++.
Gracias.