动态规划:背包问题 #include<iostream> #include<cstring> #include<algorithm> using namespace std; int dp[26][30000]; int main(void) { int money , n , i , j , val[26] , im[26] ; cin >> money >> n ; for(i=1;i<=n;i++) cin >> val[i] >> im[i] ; memset(dp,0,sizeof(dp)); for(i=1;i<=n;i++) { for(j=0;j<=money ; j++ ) { if( j >= val[i] ) dp[i][j]=max(dp[i-1][j] , dp[i-1][j-val[i]]+ im[i]*val[i] ); else dp[i][j] = dp[i-1][j]; } } cout << dp[n][money]; return 0; }
0.0分
2 人评分
sizeof的大作用 (C语言代码)浏览:1447 |
矩阵加法 (C语言代码)浏览:1719 |
1013题解浏览:552 |
DNA (C语言代码)浏览:390 |
1035 题解浏览:776 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:575 |
字符串的输入输出处理 (C语言代码)浏览:984 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:673 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:740 |