原题链接
解题思路
注意合并之后系数为0的项,就无需再输出的。这个点注意了就好。
代码
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
double a[10010];
//0-1000
int main(){
//2 1 2.4 0 3.2
//2 2 1.5 1 0.5
int k,exp;
float cof;
cin>>k;
for(int i=0;i < k;i++){
cin>>exp>>cof;
a[exp] += cof;
}
cin>>k;
for(int i=0;i < k;i++){
cin>>exp>>cof;
a[exp] += cof;
}
vector<int>ans;//记录有的
for(int i=1010;i>=0;i--){
if(a[i]!=0){
ans.push_back(i);
}
}
k = ans.size();
cout<<k;
for(int i=0;i<k;i++){
cout<<setiosflags(ios::fixed)<<setprecision(1)<<' '<<ans[i]<<' '<<a[ans[i]];
}
return 0;
}