#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 2010;//注意此处不能是1000,因为乘积的指数有可能比1000要大
struct node
{
double xi;
int zhi;
}poly[MAXN];//存放第一个多项式
double p[MAXN];//存放结果多项式
int main()
{
// freopen("in.txt","r",stdin);
int k1,k2,cou=0;
scanf("%d",&k1);
for(int i=0;i<k1;i++)
{
scanf("%d %lf",&poly[i].zhi,&poly[i].xi);
}
scanf("%d",&k2);
while(k2--)
{
int tzhi;
double txi;
scanf("%d %lf",&tzhi,&txi);
for(int i=0;i<k1;i++)
{
p[poly[i].zhi+tzhi]+=poly[i].xi*txi;
}
}
for(int i=0;i<MAXN;i++)
{
if(p[i])
cou++;
}
printf("%d",cou);
for(int i=MAXN;i>=0;i--)
{
if(p[i])
printf(" %d %.1f",i,p[i]);
}
return 0;
}
1009. Product of Polynomials (25)
最新推荐文章于 2024-03-04 18:04:28 发布