塔子周赛(一)华为暑期实习-2024年4月10号场
- Status
- Done
- Rule
- IOI
- Problem
- 3
- Start at
- 2025-3-1 19:00
- End at
- 2025-3-1 20:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 32
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
编写一个程序为基云服务计算客户话单,输入为某云服务的计费日志和各种计费因子的计费单价的列表,计费日志内容包含时间戳、客户标识、计费因子、计费时长4个字段。日志中如果同一客户同一计费因子在相同时间戳上报多次话单只能计费一次,选先上报的日志计费。计算每个客户的话单总费用。
第1行表示计费日志的条数n,是一个正整数,范围是1≤n≤1000
第2到n+1行表示云服务的计费日志,共4列,第1列表示时间(是一个数字字符串,长度为10)、第2列表示客户标识(是一个字符串,长度为
1~16
)、第3列表示计费因子(是一个字符串,长度为1~16
,计费因子查不到时认为计费因子单价是0)、第4列表示计费时长(范围为0~100,当计费时长不在范围内要认为是计费日志有问题,当成计费时长为0处理),这4个字段使用逗号分隔 第n+2行表示计费因子的数量m,m是一个正整数,范围是1≤m≤100第n+3到n+3+m行表示各种计费因子的计费单价的列表,该表有2列,第1列表示计费因子(是一个字符串,长度为
1~16
),第2列表示单价(是一个正整数,范围为1~100
),这2个字段使用逗号分
每个客户的话单总费用,共2列,第1列表示客户名,第2列表示话单费用,2列用逗号分割,输出按客户标识字典序升序排序
输入
5
1627845600,client1,factorA,10
1627845605,client2,factorB,15
1627845610,client1,factorA,5
1627845615,client1,factorB,8
1627845620,client2,factorB,20
2
factorA,5
factorB,7
输出
client1,131
client2,245
说明
client1= 15x5+8x7=131
client2= 0x5+35x7=245
该程序用于计算基于云服务的客户话单总费用。输入包括计费日志的条数、每条日志的时间戳、客户标识、计费因子和计费时长,以及各种计费因子的单价列表。程序会确保同一客户在相同时间戳上报的同一计费因子只计费一次,且若计费时长不在0到100的范围内,则视为0。最后,输出每个客户的总费用,并按客户标识的字典序进行排序。
1.先按照 ','
分割,存储下所有的不重复的 (时间戳+客户标识+计费因子) 对应的价格
2.对于客户标识的字典序进行排序