题解 | 元数据
元数据
https://www.nowcoder.com/practice/7a9255c2688644d6b04aa467bb1d94fa
#include <iostream>
#include <unordered_map>
using namespace std;
#include <bits/stdc++.h>
int main() {
int n, m;
while (cin >> n >> m) {
map<int, long long> mymap;
bool used[1000];
memset(used, 0, sizeof(used));
for (int i = 0; i < m; i++) {
char c;
int nums;
long long size;
cin >> c >> nums >> size;
used[nums] = true;
if (c == 'A') {
long long lar = mymap[nums] + size;
if (lar <= 1e10) {
mymap[nums] = lar;
} else {
mymap[nums] = 1e10;
}
} else if (c == 'D') {
if (mymap[nums] >= size) {
mymap[nums] = mymap[nums] - size;
} else {
mymap[nums] = 0;
}
}
}
for (int i = 1; i <= n; i++) {
if (!used[i]) {
mymap[i] = 0;
}
}
for (auto it = mymap.begin(); it != mymap.end(); it++) {
cout << it->second << endl;
}
}
return 0;
}
查看7道真题和解析