1009. Product of Polynomials (25)

 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 }

 

posted @ 2015-01-31 23:40  小爷  阅读(157)  评论(0编辑  收藏  举报