#include<cstdio> const int maxn=5000; double arr[maxn]={0.0},arr1[maxn]={0.0},arr2[maxn]={0.0}; int main(){ int n,m; scanf("%d",&n); int a; double b; for(int i=0;i<n;i++){ scanf("%d %lf",&a,&b); arr1[a]=b; } scanf("%d",&m); for(int i=0;i<m;i++){ scanf("%d %lf",&a,&b); arr2[a]=b; } for(int i=0;i<maxn;i++){ for(int j=0;j<maxn;j++){ if(arr1[i]!=0&&arr2[j]!=0) arr[i+j]+=arr1[i]*arr2[j]; } } int index=0; for(int i=0;i<maxn;i++){ if(arr[i]!=0.0) index++; } printf("%d",index); for(int i=maxn-1;i>=0;i--){ if(arr[i]!=0.0) printf(" %d %.1f",i,arr[i]); } return 0; } /*2 1 2.4 0 3.2 2 2 1.5 1 0.5 3 3 3.6 2 6.0 1 1.6*/
甲级pat-1009
猜你喜欢
转载自blog.csdn.net/qq_36926514/article/details/80371541
今日推荐
周排行