【输入形式】 第1行为一个正整数n,表示n个矩阵相乘,n≤100。 第2行为n+1个整数p0p1……pn,其中pi-1pi为矩阵Ai的行数和列数。 【输出形式】 一个整数,为最小乘法次数
时间: 2024-02-12 16:02:24 浏览: 76
输入一个正整数n,求输出为分数形式
5星 · 资源好评率100%
以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] p = new int[n+1];
for (int i = 0; i <= n; i++) {
p[i] = scanner.nextInt();
}
// 初始化dp数组
int[][] dp = new int[n+1][n+1];
// 动态规划求解
for (int length = 2; length <= n; length++) {
for (int i = 1; i <= n-length+1; i++) {
int j = i + length - 1;
dp[i][j] = Integer.MAX_VALUE;
for (int k = i; k < j; k++) {
dp[i][j] = Math.min(dp[i][j], dp[i][k] + dp[k+1][j] + p[i-1] * p[k] * p[j]);
}
}
}
// 输出结果
System.out.println(dp[1][n]);
}
}
```
时间复杂度为O(n^3),可以通过本题。
阅读全文