解题思路:背包
参考代码:
#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int v,n; int dp[20005]; int w[35]; int main(){ memset(w,0,sizeof(w)); memset(dp,0,sizeof(dp)); scanf("%d%d",&v,&n); for(int i=1;i<=n;i++){ scanf("%d",&w[i]); } for(int i=1;i<=n;i++){ for(int j=v;j>=w[i];j--){ dp[j]=max(dp[j],w[i]+dp[j-w[i]]); } } printf("%d",v-dp[v]); return 0; }
0.0分
17 人评分
Tom数 (C++代码)浏览:828 |
C语言训练-素数问题 (C语言代码)浏览:1661 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:512 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:718 |
妹子杀手的故事 (C语言代码)浏览:1234 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:775 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:577 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:834 |
字符逆序 (C语言代码)浏览:617 |