-
코드
def solution(n, li): dp = [[0 for _ in range(n)] for _ in range(n+1)] for i in range(1, n): for j in range(n-i): dp[j][j+i] = 2**32 #최댓값을 미리 넣어줌 for k in range(j, j+i): dp[j][j+i] = min(dp[j][j+i], dp[j][k] + dp[k+1][j+i] + li[j][0] * li[k][1] * li[j+i][1]) print(dp[0][n-1]) n = int(input()) li = [] for _ in range(n): li.append(list(map(int, input().split(" ")))) solution(n,li)
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 10942번 팰린드롬? (파이썬) (0) 2022.01.04 [백준] 1520번 내리막 길 (파이썬) (0) 2022.01.04 [백준] 11066번 파일 합치기 (파이썬) (0) 2022.01.04 [백준] 1655번 가운데를 말해요 (파이썬) (0) 2022.01.04 [백준] 11286번 절댓값 힙 (파이썬) (0) 2022.01.04