import sys
input = sys.stdin.readline
n,m = map(int,input().split())
graph = []
for i in range(n):
graph.append(list(map(int,input().split())))
dp = [[0] * (m+1) for _ in range(n+1)]
for i in range(1,n+1):
for j in range(1,m+1):
dp[i][j] = graph[i-1][j-1] + max(dp[i][j-1],dp[i-1][j],dp[i-1][j-1])
print(dp[n][m])
주어진 크기의 배열보다 하나 더큰 크기의 DP(비교) 리스트를 만들었습니다. 또한 문제에 주어진 대로 이동하여 얻을 수 있는 값들을 계속 dp에 작성을 하여 주면 됩니다.
○ 작성한 내용에 대해 잘못된 부분이나 수정해야할 부분 말씀해주시면 감사하겠습니다!!!
'Algorithm > 백준' 카테고리의 다른 글
백준 1065번(Python) : 한수 (0) | 2021.03.01 |
---|---|
백준 11727번(Python) : 2 x n 타일링 2 (0) | 2021.02.26 |
백준 1212번(Python) : 8진수 2진수 (0) | 2021.02.24 |
백준 13301번(Python) : 타일 장식물 (0) | 2021.02.21 |
백준 11726번(Python) : 2 x n 타일링 (0) | 2021.02.20 |