大师 • 2个月前
using namespace std;
int main() {
int k1, k2;
cin >> k1 >> k2;
map<int, int> poly1, poly2, result;
for (int i = 0; i < k1; i++) {
int p, n;
cin >> p >> n;
poly1[n] = p;
}
for (int i = 0; i < k2; i++) {
int p, n;
cin >> p >> n;
poly2[n] = p;
}
// 相加两个多项式的系数
for (auto& [exp, coeff] : poly2) {
poly1[exp] += coeff; // 如果指数相同,累加系数
}
bool first = true;
for (auto& [exp, coeff] : poly1) {
if (coeff != 0) { // 只输出系数不为0的项
if (!first)
cout << "+"; // 非第一项输出加号
cout << coeff << "x^" << exp;
first = false;
}
}
cout << endl;
return 0;
}
评论:
请先登录,才能进行评论