import java.text.DecimalFormat; import java.util.*; public class BobProblem{ public static double bob2(int[][] arr,int i,int j,int K){ int N = arr.length; int M = arr[0].length; if(i>=N || i<0 || j>=M || j<0){ return 1.0; } int[][][] dp = new int[N][M][K+1]; for (int r=0; r=0){ return dp[curR][curC][rest]; } if(rest == 0){ return 1; } int ans= process2(arr,curR+1,curC,rest-1,dp)+ process2(arr,curR-1,curC,rest-1,dp)+ process2(arr,curR,curC+1,rest-1,dp)+ process2(arr,curR,curC-1,rest-1,dp); dp[curR][curC][rest]=ans; return ans; } public static void main(String[] args){ int N = 15; int[][] arr= new int[N][N]; DecimalFormat df = new DecimalFormat("0.000000000"); System.out.println("P = "+df.format(bob2(arr,4,4,15))); } }