送礼
时间限制: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