/ Vijos / 题库 /

送礼

送礼

时间限制:1秒  内存限制:256M


【题目描述】

  对于一个团体,互送礼物是维持和谐关系的一种重要方式,但这也带来了成员的经济负担。现在给出团体中互相送礼的清单,请你编程计算每个人送出的钱比收到的多多少。

  在这一个问题中,每个人都准备了一些钱来送礼物,而这些钱将会被平均分给那些将收到他的礼物的人。然而,在任何一群朋友中,有些人的朋友多,他可能会送出较多的礼物;而有些人又准备了较多的钱。

【输入格式】

  第一行包含一个整数 \(N\),表示团体中的人数。
  接下来的 \(N\) 行,每行包含一个字符串(仅含小写字母,长度不超过14),表示团体中一个人的名字。
  从第 \(N+2\) 行到最后,列出了送礼的清单。清单总共有 \(N\) 段,第 \(i\) 段第一行是送出礼物人的名字;第二行包含二个数字,第一个是该人原有的钱的数目 \(M_i\)(\(0≤M_i≤2000\)),第二个 \(K_i\) 是将收到这个人礼物的人的个数,如果 \(K_i\) 是非零的,在下面 \(K_i\) 行列出礼物的接受者的名字,一个名字一行。

【输出格式】

  输出 \(N\) 行,每行的第一项是一个的名字,第二项是该人收到的钱与送出的钱的差。对于每一个人,他名字的打印顺序应和他在输入的顺序相同。所有的送礼的钱都是整数。每个人把相同数目的钱给每位要送礼的朋友,而且尽可能多给,不能给出的钱由送礼者本人持有。

【输入输出样例】

 Input

5
dave
laura
owen
vick
amr
dave
200 3
laura
owen
vick
owen
500 1
dave
amr
150 2
vick
owen
laura
0 2
amr
vick
vick
0 0

 Output

dave 302
laura 66
owen -359
vick 141
amr -150

【数据限制】

  对于 \(100\%\) 的数据满足:\(2≤N≤10\)。

【来源】

  Mr.he

信息

ID
2772
难度
9
分类
模拟 | 字符串 | 其他 点击显示
标签
递交数
1
已通过
1
通过率
100%
被复制
2
上传者