订单整理(36-4)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
芳芳正在为工厂整理一批产品的订单记录,以便高效安排生产任务。
题目描述
共有 条订单记录,每条记录包含一个产品名称和对应的订购数量。产品名称由不超过 55 个大写英文字母组成(如 A、AB、XYZ)。同一种产品可能在多条记录中出现,芳芳需要将相同产品的订购数量合并求和。
合并之后,按以下规则对所有产品进行排序并输出:
- 按产品名称长度从小到大排序;
- 若长度相同,则按字典序(从左到右第一个不同字符的字母顺序)升序排列。
请帮助芳芳完成订单的合并与排序输出。
输入格式
输入共 行。
第一行一个整数 ,表示订单记录的总数。
接下来 行,每行包含一个字符串和一个正整数,用空格分隔:
- 字符串表示产品名称(仅含大写英文字母,长度 );
- 正整数表示该次订购的数量。
输出格式
输出若干行,每行格式为:
产品名称 合计数量
样例
5
A 20
B 20
A 20
AB 10
Z 10
A 40
B 20
Z 10
AB 10
样例解释
- “A” 出现两次,数量合并为 ;
- “B” 和 “Z” 各出现一次,数量为 20 和 10;
- “AB” 出现一次,数量为 10;
- 最终按名称长度和字典序排序输出。
数据范围
- ;
- 产品种类数不超过 ;
- 每个产品名称长度 ;
- 每条订单的数量 ,且每个产品的总数量不超过 。