利用hash表的思想
#include<iostream>
#include<vector>
using namespace std;
typedef struct {
int exp;
double coef;
}node;
node a[11], b[11];
int main() {
int ka, i, kb, count = 0, k = 0;
double data[1001] = { 0 };
cin >> ka;
for (i = 0; i < ka; i++) {
cin >> a[i].exp >> a[i].coef;
data[a[i].exp] += a[i].coef;
}
cin >> kb;
for (i = 0; i < kb; i++) {
cin >> b[i].exp >> b[i].coef;
data[b[i].exp] += b[i].coef;
}
for (i = 0; i < 1001; i++) {
if (data[i])
count++;
}
cout << count;
for (i = 1000; i >= 0 && k < count; i--) {
if (data[i]) {
k++;
printf(" %d %.1lf", i, data[i]);
}
}
return 0;
}