#P1490. Cabinets
Cabinets
题目描述
Well-Built Cabinet Distributors公司最近收到了其主要制造商Woodcraft的电子橱柜目录。不幸的是,数据格式与Well-Built的库存软件预期的不一致。本题要求编写程序,将Woodcraft的目录重新格式化以适配库存软件。
输入格式
输入包含多个测试用例,相邻用例间有一个空行。输入为逗号分隔的ASCII文件,每行最长64字符,包含以下字段:
字段 | 长度 | 说明 |
---|---|---|
风格代码 | 1-3 | 橱柜风格的代码 |
风格名称 | 0-15 | 橱柜风格的名称 |
描述 | 1-15 | 描述橱柜类型的代码 |
扩展信息 | 0-25 | 橱柜的附加信息 |
单位价格 | 0-6 | 制造商建议零售价(美元×100) |
记录按风格代码升序排列。所有字段符合给定长度,且字符合法。
输出格式
输出为重新格式化的目录,也是逗号分隔的ASCII文件。首行必须为:
Item Id,Item Desc,Item Price
后续每行最长50字符,包含以下字段:
字段 | 长度 | 说明 |
---|---|---|
商品ID | 4-13 | 库存数据库的唯一标识码 |
商品描述 | 1-30 | 橱柜的库存描述 |
商品价格 | 4-7 | 制造商建议零售价 |
字段处理规则
-
商品ID(Item Id)
- 由风格代码和描述拼接而成。若风格代码不足3位,左侧补零至3位。若拼接后长度超过13位,则拒绝该记录。
-
商品描述(Item Desc)
- 由风格名称、连字符“-”和扩展信息拼接而成。
- 若风格名称缺失,使用对应风格代码组首条记录的风格名称;若首条记录也无风格名称,则拒绝该记录。
- 若扩展信息缺失,商品描述等于风格名称(无连字符)。
- 若商品描述超过30位,右侧截断。
-
商品价格(Item Price)
- 单位价格转换为“美元.美分”格式。若单位价格缺失,价格为
0.00
。
- 单位价格转换为“美元.美分”格式。若单位价格缺失,价格为
输入样例
23,CHAMPAGNE,BASE36,3" RECESSED TOE KICK,8900
23,,BASE54,,11000
25,LAUREL,CNR24LT,,15000
107,COLONIAL,BASE54WSIDEJAM
202,SAGEBRUSH,OVRHD54P,USE WITH HDWARE KIT #3207
221,ALVEA MODERN,BASE36
221,ALVEA MODERN,OVRHD54WCAP
输出样例
Item Id,Item Desc,Item Price
023BASE36,CHAMPAGNE-3" RECESSED TOE KICK,89.00
023BASE54,CHAMPAGNE,110.00
025CNR24LT,LAUREL,150.00
202OVRHD54P,SAGEBRUSH-USE WITH HDWARE KIT ,0.00
221BASE36,ALVEA MODERN,0.00
来源
1994年中东欧区域竞赛(East Central North America 1994)