//使用滚动数组 #include<cstdio> #include<algorithm> #include<iostream> using namespace std; int dp[1001]; int main(void){ int T,m; cin>>T>>m; for(int i=1;i<=m;i++){ int w,c; cin>>w>>c; for(int v=T;v>=w;v--) dp[v]=max(dp[v],dp[v-w]+c); } cout<<dp[T]<<endl; return 0; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1107 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:625 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:575 |
求圆的面积 (C语言代码)浏览:1667 |
蛇行矩阵 (C语言代码)浏览:524 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2090 |
Tom数 (C语言代码)浏览:525 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:740 |
买不到的数目 (C语言代码)浏览:3090 |