1 #include <stdio.h> 2 3 struct MyStruct 4 { 5 int exp; 6 double coe; 7 }; 8 9 int main() 10 { 11 int k1,k2,i,j; 12 MyStruct ans1[10],ans2[10]; 13 double dans[2001]; //两个 最高幂相乘 , 最高幂为2000 14 while(scanf("%d",&k1)!=EOF) 15 { 16 for(i=0;i<=2000;i++) 17 dans[i]=0.0; 18 for(i=0;i<k1;i++) 19 scanf("%d%lf",&ans1[i].exp,&ans1[i].coe); 20 getchar(); 21 scanf("%d",&k2); 22 for(i=0;i<k2;i++) 23 scanf("%d%lf",&ans2[i].exp,&ans2[i].coe); 24 int count=0; 25 for(i=0;i<k1;i++) 26 for(j=0;j<k2;j++) 27 { 28 if(dans[ans1[i].exp+ans2[j].exp]==0.0) ++count; 29 dans[ans1[i].exp+ans2[j].exp]+=(ans1[i].coe * ans2[j].coe); 30 if(dans[ans1[i].exp+ans2[j].exp]==0.0) --count; 31 } 32 33 printf("%d",count); 34 for(i=2000;i>=0;i--) 35 if(dans[i]!=0.0) 36 printf(" %d %0.1lf",i,dans[i]); 37 printf(" "); 38 } 39 return 0; 40 }