#include<iostream> using namespace std; #include<algorithm> const int Max_sum=10000; int main() { int a[11]; for(int i=1;i<=10;i++) { cin>>a[i]; } int n; cin>>n; int dp[n+1]; dp[0]=0; for(int i=1;i<=n;i++) { dp[i]=Max_sum; if(i>=10) { for(int j=1;j<=10;j++) { dp[i]=min(dp[i-j]+a[j],dp[i]); } }else{ for(int j=1;j<=10-i;j++) dp[i]=min(dp[i-j]+a[j],dp[i]); } } cout<<dp[n]<<endl; return 0; } 为什么我按照你这思路写得过不了?(测了几组数据都行)
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:635 |
矩形面积交 (C语言代码)浏览:1512 |
2^k进制数 (C++代码)使用递归方法浏览:721 |
2005年春浙江省计算机等级考试二级C 编程题(3),复杂度最低的方法没有之一!!!!!浏览:805 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:583 |
Pascal三角 (C语言代码)格式错误浏览:516 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:510 |
WU-格式化数据输出 (C语言代码)浏览:1742 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:879 |
大家好,我是验题君浏览:576 |