题意:多项式相加
思路:map的简单应用,如果这个数的指数为0,这个数就不用输出了,这个是这个题比较坑的一个点
代码:
#include <iostream>
#include <vector>
#include <map>
using namespace std;
map<int,double>mp;
int main()
{
int k1,k2;
cin >> k1;
int a;
double b;
for(int i = 0;i < k1;i ++)
{
cin >> a >> b;
mp[-a] += b;
}
cin >> k2;
for(int i = 0;i < k2;i ++)
{
cin >> a >> b;
mp[-a] += b;
if(!mp[-a]){
mp.erase(-a);
}
}
cout << mp.size();
for(auto &x : mp)
{
printf(" %d %.1lf",-x.first,x.second);
}
return 0;
}