多项式相乘是不管未知数指数情况,尽管将这个多项式的一项与另一个多项式的 每一项 相乘,指数相加
因为指数最大为100,所以算出结果的指数最大能到200,要将答案数组开到200
double a[1001], ans[2001];
int main() {
int n; cin >> n;
int x;
double y;
for(int i = 0; i < n; i ++) {
cin >> x >> y;
a[x] = y;
}
cin >> n;
for(int i = 0; i < n; i ++) {
cin >> x >> y;
for(int j = 0; j < 1001; j ++) {
ans[x + j] += a[j] * y;
}
}
int cnt = 0;
for(int i = 0; i <= 2000; i ++) {
if(ans[i])
cnt ++;
}
printf("%d", cnt);
for(int i = 2000; i >= 0; i --) {
if(ans[i]) {
printf(" %d %.1f", i, ans[i]);
}
}
return 0;
}