#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)
最新推荐文章于 2025-07-25 18:54:38 发布
本文介绍了一种基于C++实现的多项式乘法算法,通过结构体存储多项式的系数和指数,实现了两个多项式的相乘,并输出结果。程序使用了标准输入输出,适合初学者学习多项式运算的基础实现。

1215

被折叠的 条评论
为什么被折叠?



