实验时间:选做
实验目的
综合运用所学知识,为实际问题设计高效算法。
问题描述
给定一份通话记录文件records.txt,包含约10万用户一天共计约100万条通话记录。文件是纯文本格式,每行为一条记录,格式如下:
手机号码(11位)、呼叫类型(2位,00表示主叫,01表示被叫)、通话时长(4位,以秒为单位)、呼叫发生小区(4位)、换行符(2位,即'\r\n')
例如,文件的第一行:13955191490010225JQHK
表示手机号码为13955191490的用户在JQHK小区被叫,时长为225秒。
计费规则如下:
1. 通话时长以分钟为单位计费,不足一分钟按一分钟计算。
2. 主叫每分钟0.40元(40分)、被叫每分钟0.20元(20分)。
请生成话费账单,输出一份文件,要求输出文件是纯文本格式,每行为一条记录,格式如下:
手机号码(11位)、总费用(8位,以分为单位)、换行符(2位,即'\r\n')
如输出文件的第一行:1395519149000001240
表示手机号码为13955191490的用户费用是12.40元。
实验内容
选做实验,助教不检查。完成实验后,请提交文档和源代码作为助教给分依据。
请设计计算复杂度尽可能低的算法。
在文档中,需要描述你设计的算法。源代码需要对算法进行完整实现。
完成本实验的同学可获得实验加分。