http://poj.org/problem?id=1276

题意 : 给你一个目标钱数,再给你钱币的种数和钱币的面值,让你用这些钱凑出不大于目标钱数的钱然后输出这个最接近且不大于目标钱数的钱。

思路 : 背包问题,还是多重背包,就是找到公式然后注意一下数组大小,还要小小的注意一下,因为那个钱数的范围挺大的,做一个小小的优化吧也算是 。

代码 :

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
struct node
{
int n;
int d ;
} cas[] ;
int main()
{
int cash ;
int n,ch[] ;
while(scanf("%d",&cash)!=EOF)
{
int m;
cin>>n ;
for(int i = ; i < n ; i++)
cin>>cas[i].n >>cas[i].d ;
memset(ch,,sizeof(ch)) ;
ch[] = ;
/*ch是标记数组,也可以说是一个小小的优化吧,
再已经标记的基础上继续往上加,不用再从头开始加了,否则会超时*/
int maxm = ;
//for循环从每种纸币开始,再对钱数进行枚举,每种纸币又有n张
for(int i = ; i < n ; i++)
for(int j = maxm ; j >= ; j--)
if(ch[j])
for(int k = ; k <= cas[i].n ; k++)
{
m = j + cas[i].d * k;
if(m > cash)
break ;
ch[m] = ;
if(m > maxm)
maxm = m ;
}
cout<<maxm<<endl ;
}
return ;
}

最新文章

  1. nexus 社区版3.0.2部署、访问
  2. Atitit。Web server Jetty9 使用 attilax 总结
  3. Mysql Error:1205错误诊断
  4. axure新手入门教程
  5. pythonchallenge之C++学习篇-03
  6. iOS开发拓展篇—CoreLocation定位服务
  7. [部署]CentOS安装apache
  8. 目标检测的图像特征提取之(一)HOG特征(转载)
  9. 重构20-Extract Subclass(提取父类)
  10. μC/OS学习资料(附Ebook)
  11. android应用框架搭建------BaseActivity
  12. (整理)使用tomcat搭建HTTP文件下载服务器
  13. Bootstrap选项卡
  14. js excel 列表导出
  15. java中equals相同,hashcode一定相同ma
  16. wpa_supplicant 的编译
  17. 总结Jquery中获取自定义属性使用.attr()和.data()以及.prop()的区别
  18. 2018-10-19 Chrome插件实现GitHub代码离线翻译v0.0.4
  19. JDBC(5)—DatabaseMetaData
  20. hihocoder第233周

热门文章

  1. newsstand杂志阅读应用源码ipad版
  2. BootstrapDialog自动加&lt;br&gt; BUG处理
  3. Windows 8.1 序列化与反序列化
  4. Silverlight形状、画笔、变换、图像处理、几何图形
  5. GitHub for Windows离线安装的方法
  6. node.js和socket.io纯js实现的即时通讯实例分享
  7. 小课堂Week11 会说话的代码
  8. WPF样式——多条件触发器
  9. hdu 5719 BestCoder 2nd Anniversary B Arrange 简单计数问题
  10. 从零开始学ios开发(十五):Navigation Controllers and Table Views(中)