題目鏈接:傳送門
思路:之間每一項對應相加即可,注意如果係數是零就不用輸出這一項了。
代碼:
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1005;
double a[maxn];
bool vis[maxn];
int main() {
int k;
ios::sync_with_stdio(0);
int cnt = 0;
for(int i = 0 ; i < 2 ; i++) {
cin >> k;
for(int i = 0 ; i < k ; i++) {
int t;
cin >> t;
double x;
cin >> x;
a[t] += x;
}
}
for(int i = maxn - 1 ; i >= 0; i--)if(a[i]) {
cnt++;
vis[i] = 1;
}
cout << cnt;
for(int i = maxn - 1 ; i >= 0 ; i--) {
if(vis[i]) {
cout <<" " << i << " " << fixed << setprecision(1) << a[i]; //fixed << setprecision << 用於限制精度
}
}
cout << "\n";
return 0;
}