一、题目描述
二、解题思路
1、使用“map”的思路
对于输入的记录对(a,b),找到键值a对应的值,并在其上面加上b
2、实现代码
using namespace std;
int main()
{
int n;cin>>n;
map<int,int> num;
while(n--)
{
int a,b; cin>>a>>b;
num[a]+=b;
}
for(auto it=num.begin();it!=num.end();it++)
cout<<it->first<<" "<<it->second<<endl;
}
3、补充知识
- map是STL中的一个容器,来实现对键值的方式来存储数据
- map和set、multiset、multimap(与map的差别在于允许一个键值对应多个值)都是由红黑树结构实现的
- map内部有序,查找时间复杂度为O(logn) 头文件为#
include<map>