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("\n");
38 }
39 return 0;
40 }