Muy buenas. Después de estudiar la filosofía del algoritmo Backtracking, he realizado una aplicación para encontrar todos los caminos posibles entre dos nodos. El problema es que solo me encuentra un camino y se para. ¿Como lo hago para que siga calculando?. Adjunto el codigo de la función:
void hallar_camino(int camino[50]){
int aux=0;
for(b=0; b<NUMNODOS;b++){
a=camino[pos];
if (matriz[a]
==1 && visitado==0){
pos++;
camino[pos]=b;
visitado=1;
if(!es_final(
)
hallar_camino(camino);
else
escribir_solucion();
b=camino[pos];
camino[pos]=0;
pos--;
}
}
}//fin hallar_camino
La llamada es: hallar_camino(camino);
Muchas gracias por todo y un saludo.