AlgoMooc
← 返回题库

P2854. 采购订单

中等通过率 43% · 提交 221 · 通过 94
哈希表模拟数学

在一个采购管理系统中,小慕需要处理采购申请()的审批与采购订单()的生成。每个PR包含商品的单价(假设相同商品的单价始终一致)以及数量信息。 系统要求对商品进行分类处理:单价高于100元的商品需单独处理,单价低于或等于100元的相同商品可以合并到同一张采购订单PO中。对于单价低于100元的小额订单,若数量较大则可以享受折扣。 具体规则如下: 如果PR的状态为“审批通过”,则将其商品加入PO中。如果PR的状态为“审批拒绝”或“待审批”,则忽略该PR。 对于单价高于100元的商品,每个商品单独生成一条PO记录。对于单价低于或等于100元的商品,将相同商品的数量合并到一条PO记录中。 如果商品单价=100,则单价打9折。

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

输入描述

第一行包含整数N,表示PR的数量。 接下来N行,每行包含四个用空格分割的整数,按顺序表示:商品ID,数量,单价,PR状态 (0表示审批通过,1表示审批拒绝,2表示待审批)

输出描述

输出若干行,每行表示一条PO记录,按以下格式输出: 对于单价高于100元的商品:商品ID 数量 单价 对于单价低于或等于100元的商品: 商品ID 总数量 打折后的单价(向上取整) 输出的PO记录按商品ID升序升序排列,相同商品按照数量降序排列

示例

示例 1

输入

2
1 200 90 0
2 30 101 0

输出

1 200 81
2 30 101

说明:商品1的原始单价为90,审批通过,生成一条PO,满足打折条件,打折后单价为81。 商品2的单价为101,审批通过,生成一条PO

示例 2

输入

3
1 10 90 0
1 5 90 0
2 8 120 0

输出

1 15 90
2 8 120

说明:PR1和PR2均为商品1,单价90,审批通过,单价低于100元,合并数量为15 PR3为商品2,单价120元,审批通过,单价高于100元,单独生成一条PO记录。

示例 3

输入

4
1 5 80 0
2 3 120 0
3 2 90 1
4 10 150 2

输出

1 5 80
2 3 120

说明:PR1:商品1,单价80元,审批通过,单价低于100元,合并到PO中。 PR2:商品2,单价120元,审批通过,单价高于100元,单独生成一条PO记录。 PR3:审批拒绝, 忽略。 PR4:待审批,忽略。

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

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

登录后查看题目图解

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

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