This time, you are supposed to find A+B where A and B are two polynomials.
这一次,您应该找到A + B,其中A和B是两个多项式。
(也就是说,把次数一样的系数加起来)
Input
每个输入文件包含一个测试用例。每个用例占用2行,每行包含多项式的信息:K N1 aN1 N2 aN2 …NK aNK,
其中 K 是多项式中非零项的数量,Ni 和 aNi (i=1, 2, …, K) 分别是指数和系数。假设 1 <= K <= 10,0 <= NK < … < N2 < N1 <=1000。
Output
For each test case you should output the sum of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate to 1 decimal place.
对于每个测试用例,应在一行中输出 A 和 B 的总和,格式与输入相同。请注意,每行末尾不得有多余的空格。请精确到小数点后1位。
Sample Input
2(非0项数量) 1(指数) 2.4(系数) 0(指数) 3.2(系数)
2(非0项数量 )2 (指数)1.5(系数) 1(指数) 0.5(系数)
Sample Output
3(非0项数量) 2(指数) 1.5(系数和) 1(指数) 2.9(系数和) 0(指数) 3.2(系数和)
思路:
- 方法一:数组
- 方法二:使用map
代码及解释:
方法一:数组
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
//题设中系数是0--1000,包含0和1000
double xishu[1001]={