当前位置: 代码迷 >> 综合 >> 1002 A+B for Polynomials
  详细解决方案

1002 A+B for Polynomials

热度:112   发布时间:2023-10-15 12:56:56.0

题目内容
This time, you are supposed to find A+B where A and B are two polynomials.
翻译过来就是多项式相加。

输入格式
每行一个多项式输入,一共两行。
第一个数K表示多少项,后面分别输入K对幂次和系数的组合。

输出格式
按照输入格式先输出系数非0的项数总数,后面依次输出系数非0的项的次幂和系数。

输入样例

2 1 2.4 0 3.2
2 2 1.5 1 0.5

输出样例

3 2 1.5 1 2.9 0 3.2

代码如下

#include <iostream>
#include <map>
using namespace std;
int main(){
    int k,n,num = 0;float f;map<int,float> m;for(int i = 1; i <= 2; i++){
    cin >> k;for(int j = 1; j <= k; j++){
    cin >> n >> f;m[n] += f;}}for(auto it = m.begin(); it != m.end(); it++)if(it->second != 0)num++;cout << num;for(auto it = m.rbegin(); it != m.rend(); it++)if(it->second != 0)printf(" %d %.1f",it->first,it->second);cout << endl;return 0;
}