1009 Product of Polynomials (25分)

 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4 struct node
 5 {
 6     int n;
 7     double a;//n为次数,a为系数
 8 };
 9 int main()
10 {
11     vector<node> v1,v2;
12     int k;
13     cin >> k;
14     struct node* p =new struct node;
15     while(k--)
16     {
17         cin >> p->n >> p->a;
18         v1.push_back(*p);
19     }
20     vector<node>::iterator it1;
21     vector<double> v3(2002);
22     cin >> k;
23     while(k--)
24     {
25         cin >> p->n >> p->a;
26         for(it1 = v1.begin(); it1 != v1.end(); ++it1)
27             v3[p->n + it1->n] += p->a * it1->a;    
28     }
29     int cnt = 0;
30     for(int i = 0; i<=2001; ++i)
31     {
32         if(v3[i] != 0)
33             ++cnt;
34     }
35     printf("%d",cnt);
36     for(int i = 2001; i >= 0; --i)
37     {
38         if(v3[i] != 0)
39             printf(" %d %.1f",i,v3[i]);
40     }
41     return 0;
42 }
原文地址:https://www.cnblogs.com/2020R/p/13164288.html