For Programmer
백준 2096번 파이썬 문제풀이(내려가기) - dp 본문
728x90


import sys
input = sys.stdin.readline
N = int(input())
dp = [[0, 0, 0], [0, 0, 0]]
dp2 = [[1e6, 1e6, 1e6], [0, 0, 0]]
idx = 0
for i in range(1, N + 1):
arr = list(map(int, input().split()))
for j in range(3):
dp2[idx][j] = 1e6
for k in range(3):
if abs(j - k) >= 2:
continue
dp[idx][j] = max(dp[idx][j], dp[not idx][k] + arr[j])
dp2[idx][j] = min(dp2[idx][j], dp2[not idx][k] + arr[j])
idx = not idx
print(max(dp[not idx]), min(dp2[not idx]))
728x90
'코팅테스트 > 백준 문제 모음' 카테고리의 다른 글
백준 1311번 파이썬 문제풀이(할 일 정하기 ) - (dp + 비트마스킹) (0) | 2022.04.14 |
---|---|
백준 9252번 파이썬 문제풀이(LCS 2) - dp(역추적) (0) | 2022.04.13 |
백준 9251번 파이썬 문제풀이(LCS) - dp (0) | 2022.04.12 |
백준 12015번 파이썬 문제풀이(가장 긴 증가하는 부분 수열 2 ) - 이분탐색 + dp (0) | 2022.04.12 |
백준 2698번 파이썬 문제풀이(인접한 비트의 개수) - DP(탑다운) (0) | 2022.04.11 |