7-3 找 零 和 钱***(天梯赛)
发布时间
阅读量:
阅读量
现有 n 张纸币,其面值分别为 v1、v2、…、vn。当需要支付的找零金额为 m 时,共有多少种不同的组合方式可以完成找零?
注:0 < n ≤ 1000,0 < v1、v2、…、vn ≤ 10000,0 < m ≤ 10000
输入格式
n v1,v2,...,vn 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)
还没有任何评论哟~
