地牢游戏
public static int dilao(int arr[][]){
if(arr.length==0)
{
return 0 ;
}
int [][]dp = new int[arr.length][arr[0].length];
int row = arr.length;
int col = arr[0].length;
dp[row-1][col-1]=Math.max(1, 1-arr[row-1][col-1]);
for (int i = col-2; i >=0; i--) {
dp[row-1][i]=Math.max(1, dp[row-1][i+1]-arr[row-1][i]);
}
for (int i = row-2; i >=0; i--) {
dp[i][row-1]=Math.max(1,dp[i+1][col-1]-arr[i][col-1]);
}
for (int i = row-2; i >=0; i--) {
for (int j =col-2; j >=0; j--) {
int min = Math.min(dp[i+1][j],dp[i][j+1]);
dp[i][j]=Math.max(1,min-arr[i][j]);
}
}
return dp[0][0];
}