Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. //Metodo que busca el camino. Como parametros tiene la matriz sobre la que busca
  2. // la i y la j que son las posiciones iniciales y el valor de la misma
  3. public static void encontrarCamino(int[][] matriz, int i, int j, int valor, int valorAnterior){
  4. int maximo = obtenerMaximo(matriz);
  5. //Va imprimiendo la secuencia de valores que sigue.
  6. System.out.println("(" + i + ", " + j + ") / " + valor);
  7. //Comprueba si puede moverse a cada una de las posiciones y si es asi se mueve a ella de forma recursiva.
  8. if( i - 1 >= 0 && j - 1 >= 0 && i - 1 < matriz.length && j - 1 < matriz[i].length && matriz[i - 1][j - 1] >= valor){
  9. encontrarCamino(matriz, i - 1, j - 1, matriz[i - 1][j - 1], valor);}
  10.  
  11. else if( i - 1 >= 0 && j >= 0 && i - 1 < matriz.length && j < matriz[i].length && matriz[i - 1][j] >= valor ){
  12. encontrarCamino(matriz, i - 1, j, matriz[i - 1][j], valor);}
  13.  
  14. else if( i - 1 >= 0 && j + 1 >= 0 && i - 1 < matriz.length && j + 1 < matriz[i].length && matriz[i - 1][j + 1] >= valor){
  15. encontrarCamino(matriz, i - 1, j + 1, matriz[i - 1][j + 1], valor);}
  16.  
  17. else if( i >= 0 && j - 1 >= 0 && i < matriz.length && j - 1 < matriz[i].length && matriz[i][j - 1] >= valor){
  18. encontrarCamino(matriz, i, j - 1, matriz[i][j - 1], valor);}
  19.  
  20. else if( i >= 0 && j + 1 >= 0 && i < matriz.length && j + 1 < matriz[i].length && matriz[i][j + 1] >= valor){
  21. encontrarCamino(matriz, i, j + 1, matriz[i][j + 1], valor);}
  22.  
  23. else if( i + 1 >= 0 && j - 1 >= 0 && i + 1 < matriz.length && j - 1 < matriz[i].length && matriz[i + 1][j - 1] >= valor){
  24. encontrarCamino(matriz, i + 1, j - 1, matriz[i + 1][j - 1], valor);}
  25.  
  26. else if( i + 1 >= 0 && j >= 0 && i + 1 < matriz.length && j < matriz[i].length && matriz[i + 1][j] >= valor){
  27. encontrarCamino(matriz, i + 1, j, matriz[i + 1][j], valor);}
  28.  
  29. else if( i + 1 >= 0 && j + 1 >= 0 && i + 1 < matriz.length && j + 1 < matriz[i].length && matriz[i + 1][j + 1] >= valor){
  30. encontrarCamino(matriz, i + 1, j + 1, matriz[i + 1][j + 1], valor);}
  31.  
  32. else{
  33. if(valor == maximo){System.out.println("El ultimo valor es el maximo");}
  34. else{System.out.println("No es posible alcanzar el maximo");};
  35. }
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement