P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h>
using namespace std;
struct node
{
string name;
int money, income;//身上的钱,收入
}a[15];
int n;
int main()
{
scanf("%d",&n);
for(int i = 1; i <= n; i++)
cin >> a[i].name;
string t;
int money,num;
for(int i = 1; i <= n ;i++)
{
cin >> t >> money >> num;//读入发钱的人的姓名、钱、分钱的人数
for(int j = 1; j <= n ; j++)//去找t这个人的信息
{
if(a[j].name==t)
{
a[j].money = money;
if(num > 0)
a[j].income += money % num;
break;
}
}
for(int j = 1; j <= num; j++)//去更新收钱人的信息
{
cin >> t;
for(int k = 1; k <= n; k++)//去找到这个人t
if(a[k].name==t)
{
a[k].income += money / num;//增加收入
break;
}
}
}
for(int i = 1; i <= n; i++)
cout << a[i].name << ' ' << a[i].income - a[i].money <<endl;//赚的钱=收入-原来有的钱
return 0;
}