baekjoon 20251206
This commit is contained in:
parent
71c5d72469
commit
e6f23b2101
34
code_study/Baekjoon/c/11049.c
Normal file
34
code_study/Baekjoon/c/11049.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
|
||||
#define MAX INT_MAX
|
||||
|
||||
int size[501][2];
|
||||
int dp[501][501];
|
||||
|
||||
int min(int a, int b) { return a>b ? b : a; }
|
||||
|
||||
int main() {
|
||||
int N;
|
||||
scanf("%d",&N);
|
||||
|
||||
for(int i=1; i<=N; i++) scanf("%d %d",&size[i][0], &size[i][1]);
|
||||
|
||||
for(int len=1; len<N; len++) {
|
||||
for(int i=1; i<=N-len; i++) {
|
||||
int j = i + len;
|
||||
dp[i][j] = MAX;
|
||||
|
||||
for(int k=i; k<j; k++) {
|
||||
int left_times = dp[i][k];
|
||||
int right_times = dp[k+1][j];
|
||||
int operator_count = size[i][0] * size[k][1] * size[j][1];
|
||||
dp[i][j] = min(dp[i][j], left_times + right_times + operator_count);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
printf("%d\n",dp[1][N]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user