PAT 1009 Product of Polynomials——多项式相乘

题解

原题链接
这题数据范围比较小,直接数组模拟就行了

代码

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    double a[1001] ={0}, b[1001]={0}, c[2001]={0};
    int k, index,cnt=0;
    cin >> k;
    for (int i=0; i<k; i++)
    {
        cin >> index;
        cin >> a[index];
    }
    cin >> k;
    for (int i=0; i<k; i++)
    {
        cin >> index;
        cin >> b[index];
        for (int j=0; j<1001; j++)
        {
            if (a[j]!=0)
                c[j+index] += a[j]*b[index];
        }
    }
    for (int i=0; i<2001; i++)
    {
        if (c[i]!=0)
            cnt++;
    }
    printf("%d",cnt);
    for (int i=2000; i>=0; i--)
    {
        if (c[i]!=0)
            printf(" %d %.1lf",i,c[i]);
    }
    return 0;
}

end

猜你喜欢

转载自blog.csdn.net/adventural/article/details/86745686