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 }
-