PAT (Advanced Level) 1009. Product of Polynomials (25)

简单模拟。

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<cstdio>
using namespace std;

double a[3000],b[3000],c[3000];
int k;

int main()
{
    for(int i=0;i<=2000;i++) a[i]=b[i]=c[i]=0;
    int Max=-1;
    scanf("%d",&k);
    for(int i=1;i<=k;i++)
    {
        int id;double num;
        scanf("%d%lf",&id,&num);
        a[id]=num;
    }

    scanf("%d",&k);
    for(int i=1;i<=k;i++)
    {
        int id;double num;
        scanf("%d%lf",&id,&num);
        b[id]=num;
    }

    for(int i=0;i<=1000;i++)
    {
        for(int j=0;j<=1000;j++)
        {
            c[i+j]+=a[i]*b[j];
        }
    }

    int cnt=0;
    for(int i=2000;i>=0;i--)
        if(c[i]!=0) cnt++;

    printf("%d",cnt);
    int op=0;
    for(int i=2000;i>=0;i--)
        if(c[i]!=0)
            printf(" %d %.1lf",i,c[i]);
    return 0;
}

 

posted @ 2016-05-15 20:58  Fighting_Heart  阅读(180)  评论(0编辑  收藏  举报