1009 Product of Polynomials - 模拟

exponent - 指数,coefficient - 系数

比如指数为2,系数为2.9就是2.9x^2

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
#include<queue>
#include<cmath>
#include<set>
#define ll long long
using namespace std;
const int N=1005;
double A[N],B[N],C[2*N];
struct A{
    int seq;
    double tt;
}ans[2*N];

int main(){
    int k1,k2,a,m1,m2;
    double b;
    memset(A,0,sizeof(A));
    memset(B,0,sizeof(B));
    memset(C,0,sizeof(C));
    scanf("%d",&k1);
    for(int i=1;i<=k1;i++){
        scanf("%d%lf",&a,&b);
        if(i==1)m1=a;
        A[a]=b;
    }
    scanf("%d",&k2);
    for(int i=1;i<=k2;i++){
        scanf("%d%lf",&a,&b);
        if(i==1)m2=a;
        B[a]=b;
    }
    for(int i=m1;i>=0;i--){
        for(int j=m2;j>=0;j--){
            if(A[i]!=0.0&&B[j]!=0.0){
                C[i+j]+=A[i]*B[j];
            }
        }
    }
    int k=0,num=0;
    for(int i=m1+m2;i>=0;i--){
        if(C[i]){
            ans[k].seq=i;
            ans[k++].tt=C[i];
            num++;
        }
    }
    printf("%d",num);
    for(int i=0;i<k;i++){
        printf(" %d %.1f",ans[i].seq,ans[i].tt);
    }
    printf("\n");
}

猜你喜欢

转载自blog.csdn.net/m0_37579232/article/details/83050995