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

Maxmilite
**搬运于
2025-08-24 21:14:22,当前版本为作者最后更新于2022-11-27 14:23:08,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
B3682 [语言月赛202211] Jewellery 题解
Source & Knowledge
2022 年 11 月语言月赛,由洛谷网校入门计划/基础计划提供。
文字题解
题目大意
给定 种道具的名称以及品质。给定 次抽奖情况,除第一次抽中外其余次抽中时均得到道具品质对应碎片数量的碎片。求最终获得碎片的数量。
解析
首先,可以统计每种道具的抽中的次数。我们使用一个长度为 的数组 记录。
对于第 种道具,我们暂且使用 来表示其品质所对应的碎片数量。那么,第 种道具产生的碎片数量则为 。
因此,我们统计每种道具的抽中次数,按照上面的方式计算即可。
以下为统计次数过程核心代码:
struct node { string name; int val; int cnt; } a[1005]; cin >> n >> k; for (int i = 1; i <= n; ++i) cin >> a[i].name >> a[i].val; for (int i = 1; i <= k; ++i) { string var; cin >> var; for (int j = 1; j <= n; ++j) { if (var == a[j].name) { a[j].cnt++; break; } } }以下为计算过程核心代码:
const int value[] = { 0, 2000, 1000, 200, 36, 6 }; for (int i = 1; i <= n; ++i) { ans += value[a[i].val] * (a[i].cnt - 1); }视频题解
完整代码请在视频中查看。
- 1
信息
- ID
- 8136
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者