Advertisement

7-3 找 零 和 钱***(天梯赛)

阅读量:

现有 n 张纸币,其面值分别为 v1、v2、…、vn。当需要支付的找零金额为 m 时,共有多少种不同的组合方式可以完成找零?

注:0 < n ≤ 1000,0 < v1、v2、…、vn ≤ 10000,0 < m ≤ 10000
输入格式

复制代码
    n v​1​​,v​2​​,...,v​n​​ m
    
    
      
    

输出格式应严格遵循指定要求,确保内容呈现方式符合规范。

复制代码
    若有解,则输出全部找零方案,每输出一种 若无解,则输出“None”
    
    
      
    

输入样例1

6
3 1 4 3 2 7
9

输出样例1

3 1 3 2
3 4 2
4 3 2
2 7

输入样例2

5
5 3 4 6 7
2

输出样例2

None
思路:采用深度优先搜索的方式遍历所有可能的组合,通过一个book数组记录结果,最终输出符合条件的方案。例如:
路径中选取的数字 当前累计的零钱sum1 目标数值为9
第一步:选取数字3,当前sum为3
第二步:选取数字1,当前sum为4
第三步:选取数字4,当前sum为8
第四步:选取数字3,当前sum为11(超过目标值,回溯并尝试下一个数字)
第四步:选取数字2,当

全部评论 (0)

还没有任何评论哟~