https://www.acmicpc.net/problem/1890
# 2023.01.29
import sys
input = sys.stdin.readline
n = int(input())
game = [list(map(int, input().split())) for _ in range(n)]
dp = [[0]*(n) for _ in range(n)] # 경우의 수
dp[0][0]=1
for i in range(n):
for j in range(n):
if i==n-1 and j==n-1:
print(dp[i][j])
nextRow = i+game[i][j]
nextCol = j+game[i][j]
if nextRow<n: # 다음으로 이동할 수 있다면
dp[nextRow][j]+=dp[i][j]
if nextCol<n:
dp[i][nextCol]+=dp[i][j]
'Problem Solving > BOJ' 카테고리의 다른 글
[DP] python 12852 1로 만들기2 (0) | 2023.02.01 |
---|---|
[DP] python 2193 이친수 (0) | 2023.01.29 |
[DP] python 11048 이동하기 (0) | 2023.01.29 |
[DP] python 2294 동전2 (0) | 2023.01.29 |
[Recursion] 11057 오르막수 (0) | 2023.01.29 |