#include <iostream>
#include<math.h>
using namespace std;
int main()
{
//数组下标代表指数,元素值代表系数
double a[1001] = { 0 }, b[1001] = { 0}, c[2001] = {0};
int n, m;
cin >> n;
for (int i = 0;i < n;i++) {
int ex;
double ef;
cin >> ex >> ef;
a[ex] = ef;
}
cin >> m;
for (int i = 0;i < m;i++) {
int ex;
double ef;
cin >> ex >> ef;
b[ex] = ef;
}
for (int i = 0;i < 1001;i++) {
//系数不为零时
if (a[i] != 0) {
for (int j = 0;j < 1001;j++) {
if (b[j] != 0) {
double x = a[i] * b[j];//相乘后的系数
int k = i + j;//相乘后的指数
c[k] += x;
}
}
}
}
int num = 0;
for (int i = 0;i < 2001;i++) {
if (c[i]!=0)
num++;
}
cout << num ;
for (int i = 2000;i >=0;i--) {
if (c[i]!=0) {
printf(" %d %.1lf", i, c[i]);
}
}
return 0;
}
1009 Product of Polynomials (25 分)
原文:https://www.cnblogs.com/chance-zou/p/10478805.html