1009. Product of Polynomials 解析

来源:互联网 发布:linux mysqldump 编辑:程序博客网 时间:2024/06/08 19:52

这个有点坑的就是当结果多项式为0的时候要输出 0 0 0 和前面A+B多项式一样要精确到一位小数。

#include <iostream>#include <vector>#include <iomanip>using namespace std;struct Node{int N;double Na;};int main() {vector <Node> p1;vector <Node> p2;vector <Node> p;Node temp;int tempN;float tempNa;int n1, n2;cin >> n1;for (int i = 0; i < n1; i++) {cin >> temp.N;cin >> temp.Na;p1.push_back(temp);}cin >> n2;for (int i = 0; i < n2; i++) {cin >> temp.N;cin >> temp.Na;p2.push_back(temp);}float p3[2010] = { 0 };for (int i = 0; i < p1.size(); i++) {for (int j = 0; j < p2.size(); j++) {tempN = p1[i].N + p2[j].N;p3[tempN] += p1[i].Na * p2[j].Na;}}for (int i = 2009; i >= 0; i--) {if (p3[i] != 0) {temp.N = i;temp.Na = p3[i];p.push_back(temp);}}if (p.size() > 0) {cout << p.size() << " ";for (int i = 0; i < p.size(); i++) {if (i == p.size() - 1)printf("%d %.1f", p[i].N, p[i].Na);else {printf("%d %.1f", p[i].N, p[i].Na);cout << " ";}}}else{cout << "0 0 0" << endl;}return 0;}



0 0
原创粉丝点击