// 1009. Product of Polynomials.cpp: 主项目文件。 #include "stdafx.h" #include <cstdio> #include <cstring> void read(double *aa, int n){ for(int i=0;i<n;i++){ int t; double value; scanf("%d%lf",&t,&value); aa[t]=value; } } int main() { const int N=1003; double a[N],b[N],sum[2*N]; int n; while(~scanf("%d",&n)){ memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(sum,0,sizeof(sum)); read(a,n); scanf("%d",&n); read(b,n); int cnt=0; for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ if(a[i]!=0&&b[j]!=0){ sum[i+j]+=a[i]*b[j]; } } } for(int i=0;i<2*N;i++){ if(sum[i]!=0) cnt++; } printf("%d",cnt); for(int i=2*N-1;i>=0;i--){ if(sum[i]!=0) printf(" %d %.1lf",i,sum[i]); } printf("\n"); } return 0; }
![](https://img2024.cnblogs.com/blog/35695/202407/35695-20240713070336838-1837943664.jpg)