题面
【问题描述】
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 协议进行许可 |