1009 Product of Polynomials - 模擬
阿新 • • 發佈:2018-11-09
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"); }