提交时间:2024-01-21 22:38:01

运行 ID: 121550

#include <iostream> #include <unordered_map> #include <vector> using namespace std; int main() { int n; cin >> n; unordered_map<string, int> money; // 存储每个人的钱数 // 输入每个人的信息 for (int i = 0; i < n; ++i) { string name; int initialMoney, m; cin >> name >> initialMoney >> m; money[name] = initialMoney; // 计算每个朋友应得的钱数 if (m > 0) { int giftAmount = initialMoney / m; money[name] -= giftAmount * m; // 减去送礼物的钱 // 分给每个朋友 for (int j = 0; j < m; ++j) { string friendName; cin >> friendName; money[friendName] += giftAmount; // 加上收到的礼物钱 } } } // 输出每个人的名字和盈亏数 for (auto& entry : money) { cout << entry.first << " " << entry.second << endl; } return 0; }