以指数为多项式数组(dxs[])的下标存储系数和即可
#include <bits/stdc++.h>
using namespace std;
int a,k,cnt,maxa;
float b,dxs[1010];
int main()
{
scanf("%d",&k);
for (int i=1;i<=k;i++) {
scanf("%d %f",&a,&b);
dxs[a]+=b;
}
scanf("%d",&k);
for (int i=1;i<=k;i++) {
scanf("%d %f",&a,&b);
dxs[a]+=b;
}
for (int i=0;i<1001;i++) if (dxs[i]!=0) cnt++;
printf("%d",cnt);
for (int i=1000;i>=0;i--) if (dxs[i]!=0.0) printf(" %d %.1f",i,dxs[i]);
printf("\n");
return 0;
}