题意:给你N个种硬币,价值和数量,知道手表不大于m,问能组成(1~m)的价格有多少种情况

套套上次那题的模板直接就行了,http://blog.csdn.net/neng18/article/details/17060539

  1. #include <iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. using namespace std;
  5. #define MAXV 150
  6. #define MAXM 100050
  7.  
  8. int cash,n,value[MAXV],c[MAXV],f[MAXM],user[MAXM];
  9.  
  10. int main(){
  11. int i,j,max;
  12. while(scanf("%d%d",&n,&cash)&&n||cash){
  13. for(i=1;i<=n;i++)
  14. scanf("%d",&value[i]);
  15. for(i=1;i<=n;i++)
  16. scanf("%d",&c[i]);
  17. memset(f,0,sizeof(f));
  18. f[0]=1;
  19. max=0;
  20.  
  21. for(i=1;i<=n;i++){
  22. memset(user,0,sizeof(user));
  23. for(j=value[i];j<=cash;j++)
  24. if(!f[j] && f[j-value[i]] && user[j-value[i]]+1<=c[i]){
  25. user[j]=user[j-value[i]]+1;
  26. f[j]=1; //j为1,即j是可取的,选出可取的最大的j就是答案
  27. max++;
  28. }
  29. }
  30. printf("%d\n",max);
  31.  
  32. }
  33. return 0;
  34. }

poj 1742 coins_多重背包的更多相关文章

  1. POJ 1742 Coins(多重背包, 单调队列)

    Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...

  2. POJ 1742 Coins (多重背包)

    Coins Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 28448   Accepted: 9645 Descriptio ...

  3. coins_多重背包

    ps:原来用新浪,可是代码的排版不是很好,所以用博客园啦,先容许我把从八月份开始的代码搬过来,从这里重新出发,希望这里可以一直见证我的成长. Time Limit: 2000/1000 MS (Jav ...

  4. Hdu 1059 Dividing & Zoj 1149 & poj 1014 Dividing(多重背包)

    多重背包模板- #include <stdio.h> #include <string.h> int a[7]; int f[100005]; int v, k; void Z ...

  5. POJ 2392【多重背包】

    题意: k个块,给出每个块的高度hi,数量ci,不能超过的高度: 求这些块可以组成的最大高度一个. 思路: 大致可看这个题是一个背包,背包的承重是高度. 对于每个物品,有他的价值是高度,还有限定的数量 ...

  6. POJ 1014 Dividing(多重背包, 倍增优化)

    Q: 倍增优化后, 还是有重复的元素, 怎么办 A: 假定重复的元素比较少, 不用考虑 Description Marsha and Bill own a collection of marbles. ...

  7. poj 1276(多重背包+最接近)

    http://www.cnblogs.com/rainydays/archive/2013/03/08/2950258.html http://www.cnblogs.com/ziyi--caolu/ ...

  8. POJ 1014 Dividing 多重背包

    Dividing Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 63980   Accepted: 16591 Descri ...

  9. poj 1742 Coins (多重背包)

    http://poj.org/problem?id=1742 n个硬币,面值分别是A1...An,对应的数量分别是C1....Cn.用这些硬币组合起来能得到多少种面值不超过m的方案. 多重背包,不过这 ...

随机推荐

  1. Linux下(主要针对Ubuntu)下桌面分辨率的添加

    系统版本: Linux (Ubuntu) 其他桌面发行版应该也行. 相关命令: lspci, cvt, xrandr 在桌面分辨率不正常显示桌面或者没有最佳的分辨率时,需要修改添加适合的桌面分辨率模式 ...

  2. 数字图像处理之sobel边缘检测

    在前两部文章介绍了几种边缘检测算法,和位图的内存结构.如果对前两篇文章已经理解透彻 了,那么本文将带你进入数字图像处理的世界. 本文通过C代码实现基本的sobel边缘检测,包括8个方向和垂直方向: 代 ...

  3. OpenWrt修改

    openwrt如何编译修改界面的顶部.底部信息.LOGO图片 2011-06-02 16:20:03  浏览次  以Atheros71xx为例,修改路径为:trunk/build_dir/target ...

  4. HTML5 canvas translate() 方法

    HTML5 canvas translate() 方法 translate() 方法重新映射画布上的 (0,0) 位置.

  5. Mod_Python中文文档

    Mod_Python中文文档 mod_python中文文档

  6. 把程序嵌入网页之ATL编写ActiveX[标准窗口+接受参数]

    从VS2010开始ATL ActiveX支持IObjectSafety接口,所以用VS2010来编写,新建一个ATL项目 向导的第一页没什么东西,直接下一步,选项可以根据具体需求调整 点“完成”,切换 ...

  7. XMPP通讯开发-1

    有关XMPP的相关知识这里就不讲解了,网上有很多,这里我使用的NetBeans+Openire+smack搭建一个以XMPP协议的通讯工具,对于这部分知识我也不是很了解,也是初识吧,可能有些概念会混淆 ...

  8. Android开发最佳学习路线图

          为了帮助大家更好的学习Android开发的相关知识,尚观4G智能操作系统研究室(www.up4g.com)为大家制作下面学习路线图:希望能帮助到广大的android爱好者. 在開始之前我们 ...

  9. Ubuntu下嵌入式Qt开发环境配置全攻略

    http://qpcwth.blog.163.com/blog/static/20993024620139151424822/ 在安装的过称中,出现一些问题,注意试想: 1.本次开发环境的配置,是基于 ...

  10. c# 面相对象3-之继承性

    继承:类与类之间的关系(父子关系) 子类继承父类,那么子类就拥有父类的公共属性和方法一个子类只能继承一个父类,一个父类可以有好多子类子类对象可以直接转成父类,但父类只能转回对应的子类如果子类转成父类之 ...