Algorithm Problems

[백준][Python] 2096번 내려가기 - DP

WakaraNai 2021. 8. 26. 21:00
728x90
반응형

https://www.acmicpc.net/problem/2096

 

2096번: 내려가기

첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다.

www.acmicpc.net

 

Python

import sys
input = sys.stdin.readline

n = int(input())

first = list(map(int, input().split()))
dps, dpm = first, first
for i in range(1, n):
    l, m, r = map(int, input().split())

    nl, nm, nr = 0, 0, 0
    nl = l + min(dps[0], dps[1])
    nm = m + min(dps)
    nr = r + min(dps[2], dps[1])
    dps = [nl, nm, nr]

    nl, nm, nr = 0, 0, 0
    nl = l + max(dpm[0], dpm[1])
    nm = m + max(dpm)
    nr = r + max(dpm[2], dpm[1])
    dpm = [nl, nm, nr]

    #print(dpm, dps)
    
print(max(dpm), min(dps))

 

 

+) 비슷한 문제

https://wakaranaiyo.tistory.com/215

 

[백준] [Python] RGB거리 - DP

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주..

wakaranaiyo.tistory.com

 

728x90
반응형