#C04L10P08. C04.L10.结构体(一).课后附加题2.乐乐的礼物(NHOI2010t3)
C04.L10.结构体(一).课后附加题2.乐乐的礼物(NHOI2010t3)
题目描述
圣诞节到了,乐乐所在的班准备搞一个圣诞晚会,晚会的其中一个环节是全班同学互送礼物。已知每个同学都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。
有些人准备了较多的钱,有些人准备了较少的钱。现在乐乐想知道晚会结束后哪些同学收到的礼物的总价值最大(包含无法送出的钱)。
输入格式
-
第 1 行一个整数 n ,表示乐乐所在的班的人数(2≤n≤100);
-
第 2 至 n+1 行( n 行),按班里的学号顺序给出每个同学的姓名。(姓名只包含大写或小写字母,姓名的长度不超过 10 个字母);
-
第 n+2 至 2*n+2 行( n 行),按学号顺序给出每个同学送礼物的信息:
-
第一个是整数 m ( 0 ≤ m ≤ 5000 ),表示该同学准备用来送礼的钱;
-
第二个是整数 k ( 0 ≤ k ≤ 20 ),表示该同学准备把钱平均分给 k 个好朋友(给每个朋友的钱都是整数,并尽量全部用完,剩下无办法再分的钱自己保留);
-
接着是k个姓名,每个姓名之间用一个空格分开,表示要分给哪 k 个朋友。
-
输出格式
输出文件有 n 行,按最后的钱数从大到小的顺序输出每个同学的姓名和钱数。如果钱数相同的按学号顺序从小到大输出。
样例
5
Dave
laura
owen
vick
amr
200 3 laura owen vick
500 1 Dave
150 2 vick laura
600 1 amr
0 0
amr 600
Dave 502
laura 141
vick 141
owen 66
样例解释
-
Dave的 200 元分给了 3 人,每人 66 元,剩下 2 元,还收到了 2 号给他的 500元 ,因此他最后有502元。
-
laura的 500 元给了同学,收到 1 号给他的 66 元和 3 号给他的 75 元,他最后有 141 元。
-
owen 的 150 元给了 2 人,每人 75 元,收到 1 号给他的 66 元,他最后有 66 元。
-
vick 的 600 元给了同学,收到 1 号给他的 66 元和 3 号给他的 75 元,他最后有 141 元。
-
amr 没钱给人,收到 5 号给他的 600元 ,他最后有 600 元。
相关
在以下作业中: