#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; } 为什么我按照你这思路写得过不了?(测了几组数据都行)
点我有惊喜!你懂得!浏览:2071 |
简单的a+b (C语言代码)浏览:573 |
C语言考试练习题_保留字母 (C语言代码)浏览:699 |
printf基础练习2 (C语言代码)浏览:617 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:581 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:466 |
简单的a+b (C语言代码)浏览:579 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:636 |
删除数组中的0元素 (C语言代码)浏览:2021 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:442 |