【动态规划】【tyvj】乘法游戏

 

用记忆化搜索出现点小问题。以后还是改用for了。

#include #define MAXINT 1000000 #define maxn 110 int f[maxn][maxn]; int a[maxn]; int n; int main() { scanf("%d",&n); for (int i=1;i<=n;++i) for (int j=1;j<=n;++j) f[i][j]=MAXINT; for (int i=1;i<=n;++i) scanf("%d",&a[i]); for (int i=1;i<=n;++i) f[i][i-1]=f[i][i]=f[i][i+1]=0; for (int i=2;i0;--i) for (int j=i+2;j<=n;++j) for (int k=i+1;kf[i][k]+a[i]*a[k]*a[j]+f[k][j]) f[i][j]=f[i][k]+a[i]*a[k]*a[j]+f[k][j]; printf("%d/n",f[1][n]); return 0; } 

你可能感兴趣的:(动态规划,tyvj,游戏)