考古学家发现了一批古代石板,每块石板上刻有一个正整数,代表它的能量数值。他需要从这些石板中挑选出若干块,使得被选中的石板能量之和恰好等于一个给定的目标能量值 M。这些石板上的能量数值可能会相同,但是每块石板最多只允许使用一次。
当然这样的选取方案可能不存在,也可能有多个。
现在希望你编写一个程序,能够找出石板个数最少的选取方案,输出对应的最少石板个数。如果无解输出"Nosolution"
考古学家发现了一批古代石板,每块石板上刻有一个正整数,代表它的能量数值。他需要从这些石板中挑选出若干块,使得被选中的石板能量之和恰好等于一个给定的目标能量值 M,以此来激活古老的机关。每块石板只能使用一次。
在能达到目标能量值的所有选择方案中,他希望使用尽可能少的石板。请你帮助他计算出最少需要多少块石板。如果无论如何都无法恰好组合出目标能量值,则输出“No solution”。
约束条件:石板数量 N 不超过 1000,目标能量值 M 不超过 105,每块石板的能量值均为不超过 105 的正整数。
输入共两行。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册