728x90
반응형

기본적인 다이나믹 프로그래밍 문제이다.

n = int(input())
li = [list(map(int, input().split())) for i in range(n)]
if n > 1:    
    li[1][0] += li[0][0]
    li[1][1] += li[0][0]
    for i in range(2, n):
        for j in range(i+1):
            if j == 0:
                li[i][0] += li[i-1][0]
            elif j == i:
                li[i][j] += li[i-1][j-1]
            else:
                li[i][j] += max(li[i-1][j], li[i-1][j-1])
print(max(li[-1]))
728x90
반응형

+ Recent posts