Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
121550 | 张泽辰 | 互送礼物 | C++ | 解答错误 | 0 | 0 MS | 256 KB | 1025 | 2024-01-21 22:38:01 |
#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; }