백준/다이나믹 프로그래밍
# 1890 점프 파이썬
bright_code
2021. 4. 8. 16:15
728x90
반응형
1890번: 점프
첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장
www.acmicpc.net
import sys
n = int(input())
graph = [list(map(int, input().split())) for i in range(n)]
d = [ [0]*n for _ in range(n) ]
d[0][0] = 1
for i in range(n):
for j in range(n):
if i == j == n-1 : break
a = graph[i][j]
if i+ a < n :
d[i+a][j] += d[i][j]
if j+a < n :
d[i][j+a] += d[i][j]
print(d[n-1][n-1])
d[n-1][n-1] = 0 은 항상 만족하는 조건이다.
만약 이중 for 문에서 n-1, n-1 인 경우를 빼지 않으면 a = 0이고 i+a<n 과 j+a<n 이 모두 True 가 되어
더하지 않아도 되는 계산을 하게 된다.
따라서 맨 마지막 경우를 빼는 조건을 반드시 넣어 주도록 한다.
728x90
반응형