原題鏈接
解題思路
注意合併之後係數爲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;
}