Piggy-Bank

在 ACM 能够开展之前,必须准备预算,并获得必要的财力支持。该活动的主要收入来自于 Irreversibly Bound Money (IBM)。思路很简单。任何时候,某位 ACM 会员有少量的钱时,他将所有的硬币投入到小猪储钱罐中。这个过程不可逆,因为只有把小猪储钱罐打碎才能取出硬币。在足够长的时间之后,小猪储钱罐中有了足够的现金,用于支付 ACM 活动所需的花费。

但是,小猪储钱罐存在一个大的问题,即无法确定其中有多少钱。因此,我们可能在打碎小猪储钱罐之后,发现里面的钱不够。显然,我们希望避免这种不愉快的情况。唯一的可能是,称一下小猪储钱罐的重量,并尝试猜测里面的有多少硬币。假定我们能够精确判断小猪储钱罐的重量,并且我们也知道给定币种的所有硬币的重量。那么,我们可以保证小猪储钱罐中最少有多少钱。

你的任务是找出最差的情形,即判断小猪储钱罐中的硬币最少有多少钱。我们需要你的帮助。不能再贸然打碎小猪储钱罐了!

输入
输入包含 T 组测试数据。输入文件的第一行,给出了 T 的值。

对于每组测试数据,第一行包含 E 和 F 两个整数,它们表示空的小猪储钱罐的重量,以及装有硬币的小猪储钱罐的重量。两个重量的计量单位都是 g (克)。小猪储钱罐的重量不会超过 10 kg (千克),即 1 <= E <= F <= 10000 。每组测试数据的第二行,有一个整数 N (1 <= N <= 500),提供了给定币种的不同硬币有多少种。接下来的 N 行,每行指定一种硬币类型,每行包含两个整数 P 和 W (1 <= P <= 50000,1 <= W <=10000)。P 是硬币的金额 (货币计量单位);W 是它的重量,以 g (克) 为计量单位。

输出
对于每组测试数据,打印一行输出。每行必须包含句子 “The minimum amount of money in the piggy-bank is X.” 其中,X 表示对于给定总重量的硬币,所能得到的最少金额。如果无法恰好得到给定的重量,则打印一行 “This is impossible.” 。

示例输入
3
10 110
2
1 1
30 50
10 110
2
1 1
50 30
1 6
2
10 3
20 4

示例输出
The minimum amount of money in the piggy-bank is 60.
The minimum amount of money in the piggy-bank is 100.
This is impossible.

这道题是将dp数组初始化成最大,然后每步求最小(因为最后的“.”又wa了。。。)

ac代码:

#include<iostream>
#include<algorithm>
#include<string.h>using namespace std;
long long int t,w[1000005],v[1000005],dp[1000005];
long long int n,m,k,l;
int main(){cin>>t;while(t--){cin>>n>>m;cin>>k;for(long long int i=0;i<k;i++){cin>>v[i]>>w[i];}m-=n;for(long long int i=0;i<=m;i++){dp[i]=0x3f3f3f3f;}dp[0]=0;for(long long int i=0;i<k;i++){for(long long int j=w[i];j<=m;j++){if(dp[j-w[i]]!=0x3f3f3f3f)dp[j]=min(dp[j],dp[j-w[i]]+v[i]);}}/*for(int i=0;i<=m;i++){cout<<dp[i]<<endl;}*/if(dp[m]==0x3f3f3f3f) cout<<"This is impossible."<<endl;else cout<<"The minimum amount of money in the piggy-bank is "<<dp[m]<<"."<<endl;}return 0;
}/*3
10 10
2
1 1
30 50
10 110
2
1 1
50 30
1 6
2
10 3
20 4*/

Piggy-Bank(背包)相关推荐

  1. piggy bank 完全背包

    题目描述 Before ACM can do anything, a budget must be prepared and the necessary financial support obtai ...

  2. java实现动态规划算法解决存钱罐问题(piggy bank)

    一.实验目的 练习使用动态规划算法解决实际问题(使用Java语言实现) 二.实验内容 [问题描述] 给定一个空存钱罐的重量和这个存钱罐最多能装进去的重量,现在需要在不打破这个存钱罐的情况下猜测里面最少 ...

  3. 循环 直到 python_如果您在Python中存在慢循环,则可以对其进行修复……直到无法解决为止...

    循环 直到 python by Maxim Mamaev 马克西姆·马马耶夫(Maxim Mamaev) Let's take a computational problem as an exampl ...

  4. 这段时间做的简单dp题目(部分)

    这些时间vj上做的部分题目 HDU5115 题意:第一行t,t组测试数据,每组数据第一行输入n表示n匹狼,第二行给出一个序列表示每匹狼的伤害,第三行给出每匹狼能给周围狼的伤害增幅,求怎样打可以得到最小 ...

  5. ImageNet1000分类,英文原版,中文翻译版

    在训练模型时,可以用imagenet中的图片进行分类学习,imagenet中分类介绍 一.官网网址 imagenet官网网址 1-398:动物 399-924:物品 925-1000:食物 二.官方英 ...

  6. 独家 | 人工神经网络中发现了人类大脑拥有的多模态神经元(附链接)

    作者:Gabriel Goh, Chelsea Voss, Daniela Amodei, Shan Carter, Michael Petrov, Justin Jay Wang, Nick Cam ...

  7. 一步步学习如何安装并使用SAP HANA Express Edition

    使用Jerry这篇文章在Google Cloud platform上的Kubernetes集群部署HANA Express里介绍的方法在Google Cloud Platform的Kubernetes ...

  8. TensorFlow神经网络(九)VGG net论文阅读笔记

    [注]内容来自MOOC人工智能实践TensorFlow笔记课程第8讲 来源:2015 ICLR 用于图像分类的文章: Very Deep Convolutional Networks for Larg ...

  9. ValueError: You are trying to load a weight file containing 0 layers into a model with 16 layers.

    ValueError: You are trying to load a weight file containing 0 layers into a model with 16 layers. 在使 ...

  10. imagenet数据集类别标签和对应的英文中文对照表

    预测结果输出one-hot类型,最大概率的下标即为对于类别号   0: 'tench, Tinca tinca',                             丁鲷(鱼) 1: 'gold ...

最新文章

  1. 电子合同的履行_什么是电子合同履行?怎么履行电子合同?
  2. java 随机数 【指定范围】
  3. 物联网卡加持智能电网,发展更具优势
  4. HDU - 6278 Just $h$-index主席树+二分
  5. 使用jieba和wordcloud进行中文分词并生成《悲伤逆流成河》词云
  6. 高性能HTTP加速器Varnish(管理维护篇)
  7. shell脚本之从1加到100之和的思路
  8. centos 5.6安装nginx+mysql+php(php-fpm)+phpmyadmin总结
  9. re.split() 根据句子中的序号进行切分
  10. 【TDA4系列】向 PSDKRA 添加新的图像传感器
  11. 自然数简化到素数:黎曼猜想RiemannHypothesis及其解释(公号回复“黎曼猜想”下载PDF经典收藏版彩标资料)
  12. visual studio 2010和注册码
  13. 数据可视化—随机漫步
  14. UTF-8编码占几个字节?
  15. 白平衡算法---色温曲线
  16. Arch Linux上使用 pandoc 将 markdown 转为 pdf 以及如何查看本机的中文字体 fc-list :lang=zh
  17. HTML5与视频传输
  18. 4.1 什么是脚手架(CLI)
  19. Centos7 安装CUPS (安装斑马ZP450打印机驱动)
  20. 工作中收集的一些捷径网站

热门文章

  1. K3s+Rainbond默认集群添加agent节点
  2. arduino步進電機_Arduino电机驱动器说明
  3. (单纯性和L1 ball)投影梯度法
  4. 计算机学院网站规划书,计算机学院网站设计与实现 -毕业论文.docx
  5. 【转】分享 Visa 问题准备
  6. 通过js实现切换背景颜色
  7. 解读B站Q4财报:Q4营收同比增74%,B站破圈能继续俘获大众芳心?
  8. 公司绝对不会告诉你的潜规则 - 看到职场如战场了吧
  9. 让迅雷下载速度翻十倍
  10. Kubernetes安装系列之kubctl exec权限设定