//使用滚动数组 #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语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:617 |
C语言训练-求函数值 (C语言代码)浏览:931 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:590 |
蛇行矩阵 (C语言代码)浏览:742 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:748 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:552 |
蛇行矩阵 (C语言代码)浏览:524 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:872 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1027 |
母牛的故事 (C语言代码)浏览:478 |