1009. Product of Polynomials (25)
1009. Product of Polynomials (25)
两个多项式相乘,题意简单。
时间复杂度O(n^2),最后没有超时-_-!!
# include <stdio.h>
typedef struct poly
{
int exp;
float coe;
}poly;
int main()
{
poly a[1000], b[1000], c[2000];//辅助存储矩阵c,下标即exp
int m, n, index, i, j;
int max = 0;
int cou = 0;
scanf("%d",&m);
for(i = 0; i < m; i ++)
{
scanf("%d%f",&a[i].exp,&a[i].coe);
}
scanf("%d",&n);
for(i = 0; i < n; i ++)
{
scanf("%d%f",&b[i].exp,&b[i].coe);
}
for(i = 0; i < 2000; i ++)
{
c[i].exp = i;
c[i].coe = 0;
}
for(i = 0; i < m; i ++)
{
for(j = 0; j < n; j ++)
{
index = a[i].exp+b[j].exp;
c[index].coe += a[i].coe*b[j].coe;
if(index > max)
{
max = index;
}
}
}
for(i = 0; i <= max; i ++)
{
if(c[i].coe != 0)
cou ++;
}
printf("%d",cou);
for(i = max; i >= 0; i --)
{
if(c[i].coe != 0)
printf(" %d %.1f",i,c[i].coe);
}
return 0;
}