1 条题解
-
0
自动搬运
来自洛谷,原作者为

一扶苏一
休息结束。邮箱 yifusuyi@qq.com搬运于
2025-08-24 21:14:37,当前版本为作者最后更新于2018-05-04 16:35:55,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
[语言月赛202303] Out for dinner 题解
Source & Knowledge
2023 年 3 月语言月赛,由洛谷网校入门计划/基础计划提供。
本题考察分支结构。
文字题解
题目大意
给出一个长度为 的点菜单,总共可能点三种菜:
A,B,C。- 如果点了
B菜而没点C菜,则打八折; - 如果点了
C菜而没点B菜,则打七折; - 如果
B和C两个菜都点了,则打六折。
给出打折前的菜品总额,求折扣后要付多少钱。
解析
可以用一个
long long存储菜品金额,两个char变量存储点的两道菜。long long x; char a, b; cin >> x >> a >> b;然后分别讨论
a和b是B或C的情况即可。一个小技巧是,不妨假设a是两个菜品中编号较小的那个,可以通过交换两个数完成这个假设。然后可以减小一半的讨论情况。用一个变量
y记录折扣力度。int y = 10; if (a > b) swap(a, b); // 这句话保证了 a 是较小的。 if (a == 'B') { if (b == 'C') { y = 6; } else { y = 8; } } else if (b == 'C') { y = 7; } cout << x / 10 * y << endl;视频题解
完整代码请在视频中观看。
- 如果点了
- 1
信息
- ID
- 8443
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者