Advertisement
Guest User

dragons

a guest
Feb 26th, 2017
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.97 KB | None | 0 0
  1. public static int dragons(int[][] maze)
  2. {
  3.         return dragons(maze,0,0,0);
  4. }
  5.    
  6. private static int dragons(int[][] maze, int i, int j, int dragons)
  7. {
  8.     if (i == maze.length || j == maze[0].length || i < 0 || j <0){ //if out of maze
  9.         return Integer.MAX_VALUE;
  10.     }
  11.    
  12.     int temp = maze[i][j];
  13.    
  14.     if (temp == 0 || temp == -1){ //if cell has a wall
  15.         return Integer.MAX_VALUE;
  16.     }
  17.    
  18.     if (temp == 3){ //if found dragon
  19.         dragons++;
  20.     }
  21.    
  22.     if (i == maze.length - 1 && j == maze[0].length - 1){ //if at last cell
  23.         return dragons;
  24.     }
  25.    
  26.     maze[i][j] = -1;
  27.    
  28.     int down = dragons(maze, i + 1, j,dragons);
  29.     int right = dragons(maze, i, j+1,dragons);
  30.     int up = dragons(maze, i - 1, j,dragons);
  31.     int left = dragons(maze, i, j-1,dragons);
  32.    
  33.     maze[i][j] = temp;
  34.    
  35.     return min(down,right,up,left);
  36. }
  37.  
  38.  
  39. private static int min(int a, int b, int c, int d)
  40. {  
  41.     int min = a;
  42.     if (b < min)
  43.         min = b;
  44.     if (c < min)
  45.         min = c;
  46.     if (d <min)
  47.         min = d;
  48.    
  49.     return min;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement