Input
Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial: K N1 aN1 N2 aN2 ... NK aNK, where K is the number of nonzero terms in the polynomial, Ni and aNi (i=1, 2, ..., K) are the exponents and coefficients, respectively. It is given that 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.
Sample Input
2 1 2.4 0 3.2 2 2 1.5 1 0.5
Sample Output
3 2 1.5 1 2.9 0 3.2
#include<stdio.h> #include<string.h> double polyRs[1001]; int main(){ int k, nk,maxIndex; double ank; int count = 0; int i; memset(polyRs,0,sizeof(int)); scanf("%d", &k); maxIndex=0; while(k--){ scanf("%d%lf",&nk, &ank); polyRs[nk] += ank; if(nk>maxIndex) maxIndex = nk; } scanf("%d", &k); while(k--){ scanf("%d%lf",&nk, &ank); polyRs[nk] += ank; if(nk>maxIndex) maxIndex = nk; } for (i=maxIndex;i>=0;i--) if (polyRs[i] != 0 ) count++; printf("%d", count); for(i = maxIndex; i >=0; i--){ if(polyRs[i] !=0){ printf(" %d %.1lf", i, polyRs[i]); } } return 0; }
notes:
float---scanf("%f");
double -- scanf("%lf");
初始化数组#include<string.h> memset(polyRs,0,sizeof(int));
相关推荐
1002 A+B for Polynomials (25分) This time, you are supposed to find A+B where A and B are two polynomials. Input Specification: Each input file contains one test case. Each case occupies 2 lines, and ...
PTA跳转:原题链接 这道题相对比较简单,题目大意是输入两行数据,每一行的第一个数据表示这个多项式有多少对数据(包括指数和系数),每行数据代表一个多项式(如”2 1 2.4 0 3.2″表示”2.4x+3.2“,“2 2 1.5 1 ...
1002. A+B for Polynomials (25) 则更进阶一些,要求处理多项式加法。输入包含两个多项式,每个多项式由非零项的个数K、指数Ni和系数aNi组成,且保证1 ,0 <= NK < ... 。输出同样为两个多项式的和,保持与输入相同...
1002. A+B for Polynomials(25分): 此题涉及多项式加法。输入包括两个多项式,每个多项式由系数和指数组成,且每个测试案例占据两行。每个多项式的非零项数K不超过10,指数Ni从0到1000递增,且系数aNi给出。输出...
2. A+B for Polynomials (25) A+B for Polynomials是一个中等难度的计算题,要求考生编写一个程序来计算多项式A+B的值。该题目考察了考生的基本编程能力和多项式计算能力。 知识点: * 多项式计算 * 变量声明和...
2. 多项式求和:在题解1002 "A+B for Polynomials"中,提到了处理两个多项式的求和问题。输入包含两行,每行表示一个多项式,多项式由指数和对应的系数构成,指数从大到小排列,且无重复。求和后输出的多项式也遵循...
1002题——A+B for Polynomials,该题目涉及两个多项式的加法。每个输入案例包含两行,分别表示两个多项式。每行包含多项式的非零项数K,以及每个项的指数Ni和系数aNi,其中1 ≤ K ≤ 10,0 ≤ NK < ... ≤ 1000。...
- **指数与系数映射** (1002 A+B for Polynomials): 应用哈希表存储多项式的指数和系数。 3. **图论问题**: - **最短路径算法** (如1003 Emergency, 1072 Gas Station, 1087 All Roads Lead to Rome, 1030 ...
例如,1002题"A+B for Polynomials"要求找到两个多项式的和。解题时,可以通过建立一个系数数组来表示多项式的系数,遍历两个多项式的所有项,将对应的系数相加,最后按照多项式的格式输出和。 3. 贪心算法:贪心...
**题1002:A+B for Polynomials (25)** 在此题中,你需要实现两个多项式的相加。每个多项式以非零项的数量K、指数Ni和系数aNi表示,其中1 且0 <= NK < ... 。输入包含两个多项式,输出结果应保持与输入相同的格式,...
A+B Format(20 分) 1002 A+B for Polynomials(25 分) 解题思路 对于 C++ 版本的算法,此题并未特别说明指数为整数,但测试用例均通过。 1003 Emergency(25 分) 解题思路 先通过 dijkstra 算法求出最短的路径...