题目内容
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;
}