头像

Cyan

四川成都

深度强化学习炼丹师

2018年第九届蓝桥杯国赛-A. 换零钞

2018年第九届蓝桥杯国赛-A. 换零钞

2022-05-26 · 105次阅读 · 原创 · 数据结构与算法

题面

原题链接

【问题描述】

x星球的钞票的面额只有:100元,5元,2元,1元,共4种。

小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。

小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍,剩下的当然都是5元面额的。

银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗?(5元,2元,1元面额的必须都有,不能是0)

【答案提交】

注意,需要提交的是一个整数,不要填写任何多余的内容。

思路

枚举

签到题,思路见代码。

答案:74

代码

#include<iostream> using namespace std; int main() { int minv = 200; //最坏情况,200张一元 for (int i = 1; i <= 200; i++) { //一元张数 int s = 21 * i; //一元和二元的金额总和 int b = 200 - s; if (b < 5) break; //剩余的金额不够换位至少一张五元,则退出 if (b % 5 != 0) continue; //剩余金额不能刚好换成五元,下一次循环 minv = min(minv, 11 * i + b / 5); //更新答案 } cout << minv << endl; return 0; }

标题: 2018年第九届蓝桥杯国赛-A. 换零钞
链接: https://www.fightingok.cn/detail/232
更新: 2022-09-18 22:50:14
版权: 本文采用 CC BY-NC-SA 3.0 CN 协议进行许可