link : 合并表记录_牛客题霸_牛客网 (nowcoder.com)
方法一、
做最简单的桶排可能能过,但是过的不完美
方法二、
假设ADT node{key,value}
对Noed 的key进行排序,
依次处理Key相同的node
方法三、
树化 map、set、 甚至可以用到二分查找
这里提供方法二的code
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
const int maxn=550;
pair<int,int> a[maxn];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i].first>>a[i].second;
}
sort(a,a+n);
for(int i=0;i<n;i++){
int cnt=a[i].second;
while(i<n&&a[i].first==a[i+1].first){
cnt+=a[i+1].second;
i++;
}
cout<<a[i].first<<' '<<cnt<<endl;
}
}