💡문제접근
- 오른쪽과 아래쪽으로만 이동이 가능하고 중간에 방향을 바꿀 수 없다고 했으므로 지도 내에서 오른쪽으로 이동이 가능한 경우, 아래쪽으로 이동이 가능한 경우를 따져서 오른쪽 맨 아래로 이동할 수 있는 경우를 카운팅한다.
IndexError
에 시달렸던 문제
💡코드(메모리 : 31256KB, 시간 : 44ms)
import sys
input = sys.stdin.readline
N = int(input())
graph = [list(map(int, input().strip().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])
break
if i + graph[i][j] < N:
dp[i + graph[i][j]][j] += dp[i][j]
if j + graph[i][j] < N:
dp[i][j + graph[i][j]] += dp[i][j]
💡소요시간 : 34m