以前在论坛里看到的, 但是还是不能求得其解! 各位帮帮忙咯。。

RobotPassport 2008-12-04 11:28:13
Description

Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple. Whenever some ACM member has any small money, he takes all the coins and throws them into a piggy-bank. You know that this process is irreversible, the coins cannot be removed without breaking the pig. After a sufficiently long time, there should be enough cash in the piggy-bank to pay everything that needs to be paid.

But there is a big problem with piggy-banks. It is not possible to determine how much money is inside. So we might break the pig into pieces only to find out that there is not enough money. Clearly, we want to avoid this unpleasant situation. The only possibility is to weigh the piggy-bank and try to guess how many coins are inside. Assume that we are able to determine the weight of the pig exactly and that we know the weights of all coins of a given currency. Then there is some minimum amount of money in the piggy-bank that we can guarantee. Your task is to find out this worst case and determine the minimum amount of cash inside the piggy-bank. We need your help. No more prematurely broken pigs!

Input

The input consists of T test cases. The number of them (T) is given on the first line of the input file. Each test case begins with a line containing two integers E and F. They indicate the weight of an empty pig and of the pig filled with coins. Both weights are given in grams. No pig will weigh more than 10 kg, that means 1 <= E <= F <= 10000. On the second line of each test case, there is an integer number N (1 <= N <= 500) that gives the number of various coins used in the given currency. Following this are exactly N lines, each specifying one coin type. These lines contain two integers each, Pand W (1 <= P <= 50000, 1 <= W <=10000). P is the value of the coin in monetary units, W is it's weight in grams.

Output

Print exactly one line of output for each test case. The line must contain the sentence "The minimum amount of money in the piggy-bank is X." where X is the minimum amount of money that can be achieved using coins with the given total weight. If the weight cannot be reached exactly, print a line "This is impossible.".

Sample Input


3
10 110
2
1 1
30 50
10 110
2
1 1
50 30
1 6
2
10 3
20 4


Sample Output


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.
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangxuf 2008-12-04
  • 打赏
  • 举报
回复
UP先!
lc19890326 2008-12-04
  • 打赏
  • 举报
回复
又来一个ACMer 很久不做ACM了
纯支持
RobotPassport 2008-12-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hai040 的回复:]
单位有点怪,100kg的猪应该可以杀了

6-1,钱重5,3和4没办法组成5
[/Quote]

哦 他必须按照猪罐装满了的来计算啊。。
OenAuth.Net 2008-12-04
  • 打赏
  • 举报
回复
占楼,看帖
hai040 2008-12-04
  • 打赏
  • 举报
回复
单位有点怪,100kg的猪应该可以杀了

6-1,钱重5,3和4没办法组成5
RobotPassport 2008-12-04
  • 打赏
  • 举报
回复
各位看下我下面理解的有什么错误吗??最好能帮我把程序写出来好吗? 谢谢
3(总共三种测试情况)

第一种测试:
10 110 (重量:空猪罐 10, 存满110)
2 (两种货币)
1 1 (一张1元面值的 1kg)
30 50 ( 一张30元面值的 50kg)

第二种测试:
10 110 (重量:空猪罐 10, 存满110)
2 (两种货币)
1 1 (一张1元面值的 1kg)
50 30 ( 一张50元面值的 30kg)

第三种测试:
1 6 (重量:空猪罐 1, 存满6)
2 (两种货币)
10 3 (一张10元面值的 3kg)
20 4 ( 一张20元面值的 4kg)

我这样理解对吗? 如果对的话,那第三种情况为什么是impossible 呢,不是可以是
The minimum amount of money in the piggy-bank is 10 吗??

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧