我们的目标是从某个神奇仓库中取出一些东西。
字符串 A 是仓库的库存,每一样东西都用首字母大写的单词
(单词中不出现空格,有空格的单词空格用短横线替换,比如:Ice cream 在字符串中为 Ice-cream)表示。
每个单词用空格分开,在字符串中出现的次数即这个东西的数量。
字符串 B 是想要取出的东西的表单,格式与 A 相同
字符串 C 的格式与 A 相同,内容为:A 中可以出现的东西,并且单词不会重复。
要求输出 (a):
第一行为布尔值,能不能从 A 取出 B 中列出的东西。
第二行也是布尔值,A 中存放的物品是不是符合 C 的规矩,符合为真,不符合为假。
往后,当 A 中无法取出 B 中列出的物品时,每一行为:
{需要的物品单词} {如果 A 要满足 B 的需求需要进货的最少数量}。
如果 A 中没有出现 B 中的某一样东西,而这样东西恰好也是 C 中没有的,则输出 (b) 字符串:
Impossible。
但如果 A 中出现了,就按照 (a) 规则进行输出。
详细说明见 2#
示例 1:
输入:A = 'Ball Ball Ball Knife Knife Condom Ice-cream',B = 'Ball Condom Ball',C = 'Ball Knife Condom'
输出:
True
False
示例 2:
输入:A = 'Star Chimpanzee Monkey Monkey Little-Turtle Mom Son Ball Ball Ball',B = 'Ball Star Ball',C = 'Star Chimpanzee Monkey Little-Turtle Mom Son Ball'
输出:
True
True