问题标题: 酷町堂:2556   发红包

0
0
已解决
杨舰中
杨舰中
高级守护
高级守护

2556   发红包

题目描述 Description

过年了,亲戚之间在拜年的时候会顺便发个红包表达对对方的祝福。现在在一个家族里,有的亲戚之间比较熟络,会发红包问候。现在每个亲戚都列出了一份自己要去发红包的亲戚的名单,并且准备了一笔用于发红包的钱平均发给名单上的亲戚。在给出每一家亲戚的名字以及他要发红包的名单上亲戚的名字的情况下,计算最终每家最终净赚的钱。

输入描述 Input Description

第一行,一个整数n,表示亲戚的人数(2≤n≤10)
接下来n行,每行一个字符串,表示一个亲戚的名字
接下来n段,每段若干行,组织方式如下:
第一行是一个字符串,表示一个亲戚的名字
第二行是他准备用来发红包的钱数s(0≤s≤2000),以及被他发红包的亲戚总数m,以一个空格隔开
接下来m行,每行一个字符串,表示被他发红包的亲戚的名字

输出描述 Output Description

n行,每行有一个亲戚的名字和他净赚的钱
按照输入中第2到n+1行中亲戚的名字的顺序输出

样例输入 Sample 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

样例输出 Sample Output

 

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


0
已采纳
时梓繁
时梓繁
修练者
修练者

①可以用结构体来写

struct People

{

    //成员:名字、现有钱数

    //现有钱数初始化为0
}p[11];

 

②边输入边处理

输入参与操作的名字后,搜索出对应的结构体

对结构体里的“现有钱数”进行加减变化

 

0
0
我要回答