151. 24年9月-华为留学生-2.通讯录合并
难度 7- 标签:
24年9月-华为留学生-2.通讯录合并
题目内容
你有一个通讯录,这个通讯录里每个联系人都包含姓名和手机号,一个联系人可能有多个手机号。
如果发现两个联系人拥有相同的手机号,我们就认为他们是同一个人。
你的任务就是整理这个通讯录,将具有相同手机号的联系人合并为一个联系人,并返回合并后的通讯录列表。
注意:用例不保证具有相同手机号的联系人姓名肯定是相同的,如果合并的时候发现联系人姓名不同,那么以字典序小的为姓名。
输入描述
第一行表示通讯录的记录数量 num
,值的范围 [1, 1000]。
从第二行开始,每一行代表一条联系人记录,每条记录包括姓名和若干电话号码,电话号码的个数不超过10(姓名由英文字母大小写组成,长度在1到10之间,电话号码由数字组成)。
之后的若干条记录代表人的记录(手机号个数1到10位数字不重复)。同一条记录里的电话号码用空格隔开,电话号码的长度在[1,10]。
输出描述
整理后的通讯录列表,其中如果两个联系人被识别为同一个人,则他们的电话号码合并。
输出联系人姓名和手机号码列表按ASCII码升序排序。
样例1
输入
kaka 10000000000 10000000001
tata 10000000020
kaka 10000000000
10000000002
tata 10000000010
输出
kaka 10000000000 10000000001 10000000002
tata 10000000010
tata 10000000020
说明
在这个通讯录中,第一个kaka和第二个kaka有相同的手机号"10000000000",因此他们被视为同一个人。
因此kaka一共有三人号码并按ASCl码升级排序结果是100000000001000000000110000000002。
第一人tata和第二人tata没有相同的号码,因此被视作两人人。
样例2
输入
3
kaka 10000000000 10000000001
kaka 10000000001 10000000002
kaka 10000000002 10000000003
输出
kaka 10000000000 10000000001 10000000002 10000000003
说明
在这个通讯录中,第一个kaka和第二个kaka有相同的手机号"10000000001",第二个kaka和第三个kaka有相同的手机号"10000000002”,因此题目被视为同一人人。
因此kaka一共有四人号码并按ASCl码升级排序结果是10000000000 10000000001 10000000002 10000000003。