이번에 풀어볼 문제는 백준 알고리즘의 파일 합치기 문제이다.
해당 문제에 대한 링크는 아래와 같다.
https://www.acmicpc.net/problem/11066
11066번: 파일 합치기
소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본
www.acmicpc.net
1. 문제 확인
2. 문제 풀이
dp[0][m-1]+dp[m][m]
import sys
n=int(input())
while n>0:
n-=1
K=int(input())
file_list=list(map(int,sys.stdin.readline().split()))
dp=[[0 for _ in range(K)] for _ in range(K)]
sum=[0]*(K+1)
sum[0]=0
sum[1]=file_list[0]
for i in range(1,K+1):
sum[i]=sum[i-1]+file_list[i-1]
for x in range(1,K+1):
for i in range(K-x):
j=i+x
dp[i][j]=999999999999
for k in range(i,j):
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j+1]-sum[i])
print(dp[0][K-1])
'security > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 23단계 동적 계획법 2- 동전1(2293번) Python (0) | 2021.06.01 |
---|---|
백준 알고리즘 22단계 우선 순위 큐 - 큐의 절댓값 힙(11286번) Python (0) | 2021.05.25 |
백준 알고리즘 21단계 이분 탐색 - 가장 긴 증가하는 부분 수열2 (12015번) Java (0) | 2021.05.25 |
백준 알고리즘 20단계 분할 정복- 행렬 곱셈 (2740번) Java (0) | 2021.05.18 |
백준 알고리즘 19단계 큐, 덱- 요세푸스 문제 0 (11866번) Python (0) | 2021.05.04 |
댓글