// UVa Problem 119 - Greedy Gift Givers
// Verdict: Accepted
// Submission Date: 2011-11-26
// UVa Run Time: 0.012s
//
// 版权所有(C)2011,邱秋。metaphysis # yeah dot net
//
// [解题方法]
// 简单的模拟题。
#include <iostream>
#include <map>
using namespace std;
#define MAXN 15
map < string, int > money;
string name[MAXN];
int main (int argc, char const* argv[])
{
int n, moneyGive, nReceivers;
string giver, receiver;
bool printBlankLine = false;
while (cin >> n)
{
if (printBlankLine)
cout << endl;
else
printBlankLine = true;
money.clear();
for (int i = 0; i < n; i++)
{
cin >> name[i];
money[name[i]] = 0;
}
for (int i = 1; i <= n; i++)
{
cin >> giver >> moneyGive >> nReceivers;
for (int j = 1; j <= nReceivers; j++)
{
cin >> receiver;
money[receiver] += (moneyGive / nReceivers);
}
if (nReceivers)
money[giver] -= (moneyGive / nReceivers * nReceivers);
}
for (int i = 0; i < n; i++)
cout << name[i] << " " << money[name[i]] << endl;
}
return 0;
}
UVa Problem 119 - Greedy Gift Givers
最新推荐文章于 2022-07-09 23:15:57 发布