题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201?tpId=37&tqId=21231&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37&difficulty=undefined&judgeStatus=undefined&tags=&title=
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
map<int, int> arr; //有序
for (int i = 0; i < n; i++) {
int k, v;
cin>>k>>v;
if(!arr.count(k)){ //用count则只需一次查找即可判断是否存在某个键
arr[k] = v;
}else {
arr[k] = v + arr[k];
}
}
for (auto it : arr) { //遍历arr中的键对
cout<< it.first <<' ' <<it.second<<endl;
}
}
}
// 64 位输出请用 printf("%lld")
查看10道真题和解析