https://www.acmicpc.net/problem/4883
4883번: 삼각 그래프
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 그래프의 행의 개수 N이 주어진다. (2 ≤ N ≤ 100,000) 다음 N개 줄에는 그래프의 i번째 행에 있는 정점의 비용이
www.acmicpc.net
import sys
input = sys.stdin.readline
K = 1
while True:
N = int(input())
if N == 0:
break
dp = []
for i in range(N):
dp.append(list(map(int, input().split())))
ans = 0
dp[1][0] += dp[0][1]
dp[1][1] += min(dp[0][1], dp[0][1] + dp[0][2], dp[1][0])
dp[1][2] += min(dp[0][1], dp[0][1] + dp[0][2], dp[1][1])
for i in range(2, N):
dp[i][0] += min(dp[i - 1][0], dp[i - 1][1])
dp[i][1] += min(dp[i - 1][0], dp[i - 1][1], dp[i - 1][2], dp[i][0])
dp[i][2] += min(dp[i - 1][1], dp[i - 1][2], dp[i][1])
print(f"{K}. {dp[N - 1][1]}")
K += 1
'백준' 카테고리의 다른 글
백준 9095. 1, 2, 3 더하기 (0) | 2024.03.09 |
---|---|
백준 10844. 쉬운 계단 수 (0) | 2024.03.08 |
백준 16139. 인간-컴퓨터 상호작용 (0) | 2024.03.06 |
백준 15903. 카드 합체 놀이 (0) | 2024.03.05 |
백준 1072. 게임 (0) | 2024.03.05 |