Agorithm/백준 알고리즘
백준 알고리즘 14430번 자원 캐기(python)
kimjinho1
2021. 3. 21. 15:48
728x90
반응형
기본적인 다이나믹 프로그래밍 문제이다. 1차원 DP처럼 똑같이 해주면 된다.
N, M = map(int, input().split())
li = [list(map(int, input().split())) for _ in range(N)]
dp = [[0]*M for _ in range(N)]
dp[0][0] = li[0][0]
for i in range(N):
for j in range(M):
if i == 0 and j == 0:
continue
elif i > 0 and j == 0:
dp[i][j] = dp[i-1][j]
elif i == 0 and j > 0:
dp[i][j] = dp[i][j-1]
else:
dp[i][j] = max(dp[i-1][j], dp[i][j-1])
if li[i][j] == 1:
dp[i][j] += 1
print(max(map(max, dp)))
728x90
반응형