题目描述
给定两个多项式 A 和 B,计算 A+B 的结果。
输出格式
按照与输入相同的格式,输出 A+B 的结果。
结果中的各项的系数均保留一位小数。
样例
输入样例:
2 1 2.4 0 3.2
2 2 1.5 1 0.5
输出样例:
3 2 1.5 1 2.9 0 3.2
算法1
1.设置存放指数i的系数p[i]数组,相同指数i的系数累加到p[i]数组中.
2.从高到低输出p[i]数组中系数不为零的指数i及其对应的系数即可.
C++ 代码
#include<bits/stdc++.h>
using namespace std;
double p[1010];
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)//设置存放指数i的系数p[i]数组,相同指数i的系数累加到p[i]数组中,从高到低输出即可
{
int a;double b;
cin>>a>>b;
p[a]+=b;
}
int m;
cin>>m;
for(int i=0;i<m;i++)
{
int a;double b;
cin>>a>>b;
p[a]+=b;
}
int cnt=0;
for(int i=0;i<1001;i++)
{ if(p[i]!=0)
cnt++;
}
cout<<cnt;
for(int i=1000;i>=0;i--)
if(p[i]!=0)
{
printf(" %d %.1lf",i,p[i]);
}
return 0;
}