有一个由1…9组成的数字串,问如果将m个加号插入到这个字符串中,在各种可能形成的表达式中,值最小的那个表达式的值是多少。
动态规划解题步骤:
1.将原问题转化为子问题
2.确定状态。
3.确定一些初始状态值(边界值)。
4.确定动态转移方程。
package suanfa;
import java.util.Arrays;
import java.util.Scanner;
public class dp_optimunadditionexpression {
static int N=1005;
static int []a=new int[N];
static int [] [] nums=new int [N][N];
static int [] [] dp=new int [N][N];
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
int m=cin.nextInt();
for (int i = 1; i <=n; i++) {
a[i]=cin.nextInt();
}
for (int i = 1; i <=n ; i++) {
nums[i][i]=a[i];
for (int j =i+1; j <=n; j++) {
nums[i][j]=nums[i][j-1]*10+a[j];
}
}
for (int i = 1; i <=n; i++) {
for (int j = 1; j <=n; j++) {