B3669 [语言月赛202210] 购物节
ShanCreeperPro · · 题解
B3669 [语言月赛202210] 购物节
Source & Knowledge
2022 年 10 月语言月赛,由洛谷网校入门计划/基础计划提供。
本题考察对分支语句和数学知识的应用。
文字题解
题目大意
有价格为
解析
本题难点在于判断要买多少个一本和多少个十本。
我们很容易想到,先买十本装,当剩下不足 10 本要买的时候,买一本装,这样,总价格便是:n/10*(y-1)+n%10*(x-1)。
但,存在以下这种情况:当一本装足够便宜,以至于买
判断代码如下:
if ( (x - 1) * 10 < y - 1) {
ans = n * (x - 1);
} else {
ans = (n % 10) * (x - 1);
ans += (n / 10) * (y - 1);
}
注意事项:
- 本题需要开
long long,因为最后的答案可能会超过int的范围!
视频题解
完整代码请在视频中查看。