解题思路:
注意事项:
参考代码:
#include<iostream> #include<algorithm> #include<cstring> using namespace std; const int M=205; int a[M][M]; int b[M]; int main() { int n,sum=0; cin>>n; memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) { cin>>b[i]; b[i+n]=b[i]; } for(int i=2;i<=n;i++) { for(int j=1;j+i-1<2*n;j++) { int t=j+i-1; for(int k=j;k<t;k++) { a[j][t]=max(a[j][t],a[j][k]+a[k+1][t]+b[j]*b[k+1]*b[t+1]); } } } for(int i=1;i<=n;i++) { if(sum<a[i][i+n-1]) sum=a[i][i+n-1]; } cout<<sum<<endl; return 0; }
0.0分
2 人评分
矩阵转置 (C语言代码)浏览:1526 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:625 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:422 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:675 |
DNA (C语言描述,数据结构)浏览:862 |
简单的a+b (C语言代码)浏览:607 |
IP判断 (C语言代码)浏览:764 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:550 |
矩阵乘方 (C语言代码)浏览:1031 |
C二级辅导-等差数列 (C语言代码)浏览:830 |