题目描述
题目理解
题目大意是给我们两个多项式序列,要求计算出两个多项式的和
示例给出的answer格式是:
项数 | X的次数 | 值 | X的次数 | 值 | X的次数 | 值 |
---|---|---|---|---|---|---|
3 | 2 | 1.5 | 1 | 2.9 | 0 | 3.2 |
代码实现
用两个数组记录输入;遍历一遍相加;把非0项统计并用ans记录;从大到小遍历数组从而实现X的次数从高到低;用printf控制输出格式。
#include <iostream>
using namespace std;
const int N = 1005;
double a[N],b[N];
int k,n;
double ai;
int main()
{
cin>>k;
while(k--){
cin>>n>>ai;
a[n]=ai;
}
cin>>k;
while(k--){
cin>>n>>ai;
b[n]=ai;
}
int ans=0;
for(int i=0;i<N;i++)
{
a[i]=a[i]+b[i];
if(a[i]!=0) ans++;
}
for(int i=N-1;i>=0;i--)
{
if(a[i]) printf(" %d %.1lf", i, a[i]);
}
return 0;
}