参考这位博主的,他讲的很详细 链接为文章
#include<iostream>
#include<algorithm>
using namespace std;
int const M=7;
int main()
{
int p[M]={30,35,15,5,10,20,25};
int m[M][M];
int q,n=6;
for(int i=1;i<=n;i++) m[i][i]=0;
for(int l=2;l<=n;l++)
{
for(int i=1;i<=n-l+1;i++)
{
int j=i+l-1;
m[i][j]=214756892;
for(int k=i;k<=j-1;k++)
{
m[i][j]=min(m[i][j],m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j]);
}
}
}
cout<<"最优解为: \n"<<m[1][6];
return 0;
}