1002 A+B for Polynomials

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

你可能感兴趣的:(1002 A+B for Polynomials)