Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- #define INFINITO 999999999
- #define MAXCOL 7
- int camino_mas_corto(int mapa[][MAXCOL], int fila, int columna, int pasos);
- int main(){
- //Mapa de ejemplo del enunciado.
- //Crea tus propios mapas de prueba. Recuerda que:
- // - Los -1 son celdas de muro
- // - Los 0 son celdas que se pueden recorrer
- // - El -2 es la celda inicial que usamos para comenzar a buscar la salida
- // - El -3 es la salida que debes buscar usando la funcion camino_mas_corto()
- int mapa[18][MAXCOL] = {
- {-1,0,0,0,0,0,0},
- {0,-1,0,0,0,0,0},
- {0,0,-1,0,-1,0,0},
- {-2,0,-1,0,-1,0,-3},
- {0,0,-1,0,-1,0,0},
- {0,0,-1,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,-1,0,-1,0,0},
- {0,0,-1,0,-1,0,0},
- {0,0,-1,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,0,0,-1,0,0},
- {0,0,0,0,0,0,0}
- };
- //Tu programa sigue aqu�
- return 0;
- }
- int camino_mas_corto(int mapa[][MAXCOL], int fila, int columna, int pasos){
- //T� c�digo en C++ para la funci�n recursiva va aqu�
- /*
- int arriba, abajo, dcha, izda;
- Si estamos en la celda de la salida
- Devolver pasos;
- //anotamos los pasos que hemos dado hasta llegar aqu�
- mapa[fila][columna] = pasos;
- Si podemos avanzar a la celda de la izquierda Y mapa[fila][columna-1] > pasos+1
- izda = camino_mas_corto(mapa, fila, columna-1, pasos+1);
- Si podemos avanzar a la celda de la derecha Y mapa[fila][columna+1] > pasos+1
- dcha = camino_mas_corto(mapa, fila, columna+1, pasos+1);
- Si podemos avanzar a la celda inferior Y mapa[fila+1][columna] > pasos+1
- abajo = camino_mas_corto(mapa, fila+1, columna, pasos+1);
- Si podemos avanzar a la celda superior Y mapa[fila-1][columna] > pasos+1
- arriba = camino_mas_corto(mapa, fila-1, columna, pasos+1);
- Si no podemos avanzar a ning�n lado
- Devolver INFINITO;
- //Han terminado las llamadas recursivas, debemos devolver
- //el camino m�s corto encontrado por todas
- Devolver minimo(izda, dcha, arriba, abajo);
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement