作者 李祥

单位 湖北经济学院

收银员现有 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

个人思路:

回溯解决,注意一个问题,回溯时当我们走到后一个数时,就不能再输出这个数前面的数了,否则就会出现重复的解。加一个限定条件即可。

#include <bits/stdc++.h>
using namespace std;
int n,w;
const int N = 110;
int f[N];
int flag=0;
vector<int> p;
void dfs(int u,int j) {  //u是目前已经有多少钱,j是目前走到第几个数if (u == w) {        //当u和要找的零钱w相等时就可以输出了flag=1;int len = p.size();cout << p[0];for (int i = 1; i < len; i++) {cout<<" " << p[i];}cout << endl;return;}for (int i = 0; i < n; i++) {if (u + f[i] <= w && i>j) {  // i > j 这个条件十分重要,防止出现重复解p.push_back(f[i]);u += f[i];dfs(u,i);p.pop_back();   //注意恢复现场u -= f[i];}}
}int main()
{cin >> n;for (int i = 0; i < n; i++) {cin >> f[i];}cin >> w;dfs(0,-1);if(!flag) cout<<"None";
}

7-3 找零钱***分数 20作者 李祥单位 湖北经济学院相关推荐

  1. 7-15 输出N以内的所有素数分数 15作者 李民单位 武汉理工大学

    编程找出N(2≤N≤500)以内(即小于等于N)的所有素数. 输入格式: 输入整数N(2≤N≤500). 输出格式: 每8个一行输出N以内的所有素数.注意每个数据均占5列,且采用右对齐. 输入样例1: ...

  2. 整除光棍 分数 20作者 翁恺单位 浙江大学

    这里所谓的"光棍",并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数整除.比如,111111就可以被13整 ...

  3. 1037. 在霍格沃茨找零钱(20) python篇

    1037. 在霍格沃茨找零钱(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 如果你是哈利·波特迷,你会知 ...

  4. PAT 1037 在霍格沃茨找零钱(20)(代码+思路)

    1037 在霍格沃茨找零钱(20)(20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon) ...

  5. PAT乙级在霍格沃茨找零钱(20)

    1027 在霍格沃茨找零钱(20) 题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon), ...

  6. PAT-B 1037. 在霍格沃茨找零钱(20)(20 分)自定义进制转换

    https://pintia.cn/problem-sets/994805260223102976/problems/994805284923359232 1037 在霍格沃茨找零钱(20)(20 分 ...

  7. PAT --- 1037.在霍格沃茨找零钱 (20 分)

    1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十 ...

  8. [PAT乙级]1037. 在霍格沃茨找零钱(20)

    1037. 在霍格沃茨找零钱(20) 原题链接 相似题目:1026. 程序运行时间(15) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可 ...

  9. R7-2 sdut-九九乘法表分数 30作者 周雪芹单位 山东理工大学九九乘法表是数学学习的基础,今天我们就来看看乘法表的相关问题。《九九乘法歌诀》,又常称为“小九九”,如下图所示。你的任务是

    R7-2 sdut-九九乘法表 分数 30 全屏浏览题目 切换布局 作者 周雪芹 单位 山东理工大学 九九乘法表是数学学习的基础,今天我们就来看看乘法表的相关问题.<九九乘法歌诀>,又常称 ...

最新文章

  1. android列表集合点击事件,给ListeView列表中的每一个Item添加点击事件
  2. 计算机存储器与寄存器的区别,存储器和寄存器区别
  3. 我马上会重新利用这个博客的
  4. 在你的Fckeditor安装Google map plugin
  5. DockerCompose-初始Compose
  6. C# ref与out区别
  7. 如何使用消息队列,Spring Boot和Kubernetes扩展微服务
  8. mongodb常用操作语句
  9. Golang 笔记 2 函数、结构体、接口、指针
  10. 抛物线交点式公式_二次函数顶点式、交点式、两根式概念解读
  11. ct与x光的哪个辐射大_听说做一次CT所受到的辐射剂量和损害 = 拍400张X光片?
  12. 泡沫下的破浪者,智能语音产品到底落地何处?
  13. 【Java 判断素数的几个方法】简单理解
  14. 一款好用的bi报表软件,让你站在Excel的肩膀上
  15. 解析春运玄学:携程飞猪去哪儿们的抢票加速包,到底灵不灵?
  16. 速通C语言支线第一站 基础刷题
  17. 未来10年什么行业发展比较好?
  18. JavaScript 数据结构与算法(二)哈希表
  19. Python.对鸢尾花数据集进行可视化操作,对数据分析
  20. 浅淡计算机网络的应用,【计算机专业论文】浅谈计算机网络技术人工智能的应用(共3693字)...

热门文章

  1. 哪个相机可以拍gif动图_魅族手机如何拍摄Gif图片 魅族手机拍摄Gif动图的方法图解...
  2. 使用bat批量删除修改子目录文件名后缀,超简单
  3. 爬取《电影天堂》,保存评分大于7.0 的电影地址
  4. 【安全资讯】新形势下网络犯罪有哪些趋势和特点?检察官有话说
  5. 读书和不读书的人,最大的区别是什么?--林语堂
  6. 苹果自研M1芯片跑分曝光-新MacBook Air超2019款顶配MacBook Pro
  7. 关键词搜索量是什么,如何看待关键词热度!
  8. python第三方库批量安装_使用Python批量安装第三方库
  9. 个人股权能转让给别人吗
  10. 高德地图自定义点标记踩坑