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 }

 

你可能感兴趣的:(du)