AlgoMooc
← 返回题库

K0081. 远古卷轴采购统计系统

简单通过率 50% · 提交 12 · 通过 6
哈希表排序模拟

小慕正在开发一个名为 “采购数据管理模块” 的项目,用于管理多家供应商的采购记录。他希望实现一个简易的采购统计系统,系统需要支持以下功能: * ProcurementManager() —— 系统初始化(创建存储各供应商采购数据的结构,初始无任何采购记录)。 * recordPurchase(int supplierId, int productType, int cost) —— 记录某供应商 `supplierId` 的一次采购数据:采购金额为 `cost`,`productType` 仅取值为 1、2、3,分别代表电子元器件、机械零件、包装材料。 * querySuppliers() —— 返回已有采购记录的供应商编号列表,若无符合条件的供应商则输出空行: * :供应商的累计采购金额 升序 排列; * :若累计采购金额相同,则按供应商编号 降序 排列。 * queryTotalCost(int supplierId, int productType) —— 返回指定供应商 `supplierId` 中,某类产品 `productType` 的累计采购金额;若该供应商无此类产品的采购记录(或供应商无任何采购记录),则返回 `0`。

提示:带虚线的词点一下有通俗解释。

输入描述

* 第一行输入一个整数 `Q`,表示函数调用次数。 * 接下来共 `Q` 次操作,每次输入包含: * 一行字符串表示函数名称: * `"ArcaneScrollProcureSystem"` —— 初始化系统,无参数; * `"recordProcure"` —— 三个参数,分别为: * `shopId`(商铺编号,`0 <= shopId <= 10`) * `scrollType`(卷轴类型,`1 <= scrollType <= 3`) * `manaCost`(本次采购消耗魔力值,`0 < manaCost <= 100`) * `"queryTotalProcure"` —— 两个参数: * `shopId` * `scrollType` * `"queryShops"` —— 无参数。 * 每个参数均单独占一行输入。

输出描述

* 对每次函数调用,输出对应结果: * `"ArcaneScrollProcureSystem"` 和 `"recordProcure"` 输出 `"null"`。 * `"queryTotalProcure"` 输出一个整数。 * `"queryShops"` 输出一行,商铺编号按空格分隔;若结果为空,则输出一个空行。

示例

示例 1

输入

20
ArcaneScrollProcureSystem
recordProcure
3
1
20
recordProcure
1
2
15
recordProcure
2
3
40
recordProcure
3
2
10
recordProcure
0
1
5
recordProcure
0
2
5
recordProcure
4
1
30
recordProcure
5
3
25
recordProcure
5
1
25
queryTotalProcure
3
1
queryTotalProcure
3
2
queryTotalProcure
1
1
queryShops
recordProcure
2
1
15
recordProcure
1
1
10
queryShops
queryTotalProcure
2
3
queryTotalProcure
4
2
queryShops

输出

null
null
null
null
null
null
null
null
null
null
20
10
0
0 1 4 3 2 5
null
null
0 1 4 3 5 2
40
0
0 1 4 3 5 2

说明:1. 初始化系统。 2. 商铺3采购火焰卷轴20。 3. 商铺1采购寒冰卷轴15。 4. 商铺2采购幻影卷轴40。 5. 商铺3采购寒冰卷轴10(累计30)。 6. 商铺0采购火焰卷轴5。 7. 商铺0采购寒冰卷轴5(累计10)。 8. 商铺4采购火焰卷轴30。 9. 商铺5采购幻影卷轴25。 10. 商铺5采购火焰卷轴25(累计50)。 11. 查询商铺3的火焰卷轴累计(20)。 12. 查询商铺3的寒冰卷轴累计(10)。 13. 查询商铺1的火焰卷轴累计(0)。 14. 查询所有商铺排序(结果:0 1 4 3 2 5)。 15. 商铺2采购火焰卷轴15(累计55)。 16. 商铺1采购火焰卷轴10(累计25)。 17. 查询所有商铺排序(结果:0 1 4 3 5 2)。 18. 查询商铺2的幻影卷轴累计(40)。 19. 查询商铺4的寒冰卷轴累计(0)。 20. 查询所有商铺排序(结果:0 1 4 3 5 2)。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。