记录编号 | 390799 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 石子合并 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.005 s | ||
提交时间 | 2017-04-04 09:30:26 | 内存使用 | 0.35 MiB | ||
#include<cstdio> #include<cstring> #include<iostream> using namespace std; int f[101][101]; int s[101]; int n,x; int main() { freopen("shizi.in","r",stdin); freopen("shizi.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&x); s[i]=s[i-1]+x; } memset(f,127/3,sizeof(f)); for(int i=1;i<=n;i++)f[i][i]=0; for(int i=n-1;i>=1;i--) for(int j=i+1;j<=n;j++) for(int k=i;k<=j-1;k++) f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+s[j]-s[i-1]); printf("%d\n",f[1][n]); return 0; }