Sicily-polynomial addition

多项式合并,我是利用桶排序来完成的。

可能比较复杂。

 1 #include <iostream> 
 2 #include <string>
 3 #include <cstring>
 4 using namespace std;
 5 int main() {
 6     int m;
 7     cin >> m;
 8     while(m--) {
 9         int poly[10001] = {0};
10         int N1;
11         cin >> N1;
12         while(N1--) {
13             int k;
14             int n;
15             cin >> k >> n;
16             poly[n] = k;
17         }
18         int N2;
19         cin >> N2;
20         while(N2--) {
21             int j;
22             int m;
23             cin >> j >> m;
24             poly[m] += j;
25         }
26         int count = 0;
27         for (int i = 10000; i >= 0; i--) {
28             if (poly[i]!=0) {
29                 count++;
30             }
31         }
32         cout << count << endl;
33         for (int i = 10000; i >= 0; i--) {
34             if (poly[i]!=0) {
35                 cout << poly[i] << " " << i << endl;
36             }
37         }
38     }
39     return 0;
40 }

 

posted @ 2017-01-19 16:24  SYSU_Bango  阅读(226)  评论(0编辑  收藏  举报