AcWing 1481. 多项式乘积
原题链接
简单
作者:
og_
,
2020-05-25 15:33:12
,
所有人可见
,
阅读 506
C++ 代码
#include<bits/stdc++.h>
using namespace std;
map<int,double,greater<int>> mp,ans; //从大到小排列
int main(){
int n,m;
cin>>n;
for(int i = 0;i<n;i++){
int a;
double d;
cin>>a>>d;
mp[a]=d;
}
cin>>m;
for(int i = 0;i<m;i++){
int aa;
double dd;
cin>>aa>>dd;
for(auto item : mp){
ans[aa+item.first]+=dd*item.second; //与第一个多项式每一项相乘(系数相乘,指数相加)
}
}
int num=0;
for(auto item:ans){
if(item.second!=0.0) num++;
}
cout<<num;
for(auto item:ans){
if(item.second!=0)printf(" %d %.1lf",item.first,item.second);
}
return 0;
}