Poj 1384 & Hdu 1114 Piggy-Bank (完全背包)
来源:互联网 发布:mac pro10.9无法升级 编辑:程序博客网 时间:2024/05/18 20:12
题目链接:http://poj.org/problem?id=1384
题意:给你一个储蓄罐空的和满的重量E、F,然后给出各种硬币的价值P和对应的重量W,要你估计出储蓄罐里面硬币价值和最小为多少,注意要保证重量和恰好为给出满的重量。1<=N<=500,1 <= E <= F <= 10000。
思路:完全背包,因为是求最小值且必须装满,故f[0]初始化为0,数组其他部分为正无穷。
注意正无穷不要习惯性写成0x7fffffff,代码中标记处执行加运算后会变负数。
#include <cstdio>#include <cstring>#define min(x,y) ((x)<(y)?(x):(y))struct Point{int p,w;void get (){scanf("%d%d",&p,&w);}}p[505];const int INF=0x0fffffff;int f[10010];int E,F,n;void CompletePack (){int i;for (i=0;i<=F-E;i++)f[i]=INF;f[0]=0;for (i=1;i<=n;i++)for (int j=p[i].w;j<=F-E;j++)f[j] = min(f[j],f[j-p[i].w]+p[i].p); //见题解}int main (){int T;scanf("%d",&T);while (T--){scanf("%d%d%d",&E,&F,&n);for (int i=1;i<=n;i++)p[i].get();CompletePack ();if (f[F-E] == INF)printf("This is impossible.\n");elseprintf("The minimum amount of money in the piggy-bank is %d.\n",f[F-E]);}return 0;}
- Poj 1384 & Hdu 1114 Piggy-Bank (完全背包)
- poj 1384 && hdu 1114 Piggy-Bank (完全背包)
- Piggy-Bank hdu 1114 ||poj 1384 完全背包
- POJ 1384 && HDU 1114 Piggy-Bank(完全背包问题)
- POJ 1384 Piggy-Bank (ZOJ 2014 Piggy-Bank) 完全背包
- 背包(1)poj 1384||hdu 1114 Piggy-bank --- 完全背包
- poj 1384 Piggy-Bank 完全背包
- poj 1384Piggy-Bank(完全背包)
- POJ 1384 Piggy-Bank (完全背包)
- poj 1384 Piggy-Bank (完全背包)
- 完全背包练习-POJ-1384-Piggy-Bank
- poj 1384 Piggy-Bank---完全背包
- POJ 1384 Piggy-Bank 完全背包
- POJ 1384 Piggy-Bank(完全背包问题)
- poj 1384 Piggy-Bank(完全背包)
- POJ 1384 Piggy-Bank(完全背包)
- poj 1384 Piggy-Bank(完全背包)
- 完全背包 poj 1384 Piggy-Bank
- 读书摘要 - 团队的秘密 如何打造高绩效的卓越团队(美 马克·米勒)
- delphi下编写filter以及调试
- struct&& class
- IOS结合hessian实现远程调用
- 程序员半年随想
- Poj 1384 & Hdu 1114 Piggy-Bank (完全背包)
- Linux内核版本号的含义
- 对协议有无状态的理解
- MySQL 添加列,修改列,删除列
- 浅谈聚集因子
- 一次安装VMware主机ping不通虚拟机的解决
- hdu 1222
- Moto XT885使用感受
- DBMS_STATS.GATHER_TABLE_STATS详解