int gridDp(int rows, int cols) {
int[][] dp = new int[rows][cols];
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
dp[r][c] = transition(r, c, dp);
}
}
return dp[rows - 1][cols - 1];
}
def grid_dp(rows: int, cols: int) -> int:
dp = [[0] * cols for _ in range(rows)]
for r in range(rows):
for c in range(cols):
dp[r][c] = transition(r, c, dp)
return dp[rows - 1][cols - 1]
def gridDp(rows: Int, cols: Int): Int =
val dp = Array.fill(rows, cols)(0)
for r <- 0 until rows do
for c <- 0 until cols do
dp(r)(c) = transition(r, c, dp)
dp(rows - 1)(cols - 1)
int gridDp(int rows, int cols) {
std::vector<std::vector<int>> dp(rows, std::vector<int>(cols));
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
dp[r][c] = transition(r, c, dp);
}
}
return dp[rows - 1][cols - 1];
}