解题思路:dp即可,f[v]=f[v-w[i]]+c[i];
注意事项:if (f[v]<f[v-w[i]]+c[i])不然会出问题
参考代码:
#include<?>//防抄
using namespace std;
int f[1100],w[120],c[120];
int main()
{
int v,t,m;
cin>>t>>m;
for (int i=1;i<=m;++i)
cin>>w[i]>>c[i];
for (int i=1;i<=m;++i)
for (int v=t;v>=w[i];--v)
if (f[v]<f[v-w[i]]+c[i])
f[v]=f[v-w[i]]+c[i];
cout<<f[t];
return 0;
}
0.0分
1 人评分
川哥的吩咐 (C语言代码)浏览:926 |
C语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:694 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:539 |
求圆的面积 (C语言代码)浏览:1756 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:268 |
P1000 (C语言代码)浏览:911 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:524 |
Quadratic Equation (C语言代码)浏览:1034 |
输入输出格式练习 (C语言代码)浏览:774 |