`

PAT 1002. A+B for Polynomials (25)

    博客分类:
  • PAT
 
阅读更多

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));

分享到:
评论

相关推荐

    【JAVA】1002 A+B for Polynomials (25分) PAT甲级 PAT (Advanced Level) Practice

    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 ...

    PAT A1002 A+B for Polynomials (25)

    PTA跳转:原题链接 这道题相对比较简单,题目大意是输入两行数据,每一行的第一个数据表示这个多项式有多少对数据(包括指数和系数),每行数据代表一个多项式(如”2 1 2.4 0 3.2″表示”2.4x+3.2“,“2 2 1.5 1 ...

    浙江大学pat题目集合(1001-1080)

    1002. A+B for Polynomials (25) 则更进阶一些,要求处理多项式加法。输入包含两个多项式,每个多项式由非零项的个数K、指数Ni和系数aNi组成,且保证1 ,0 &lt;= NK &lt; ... 。输出同样为两个多项式的和,保持与输入相同...

    浙江大学pat题目集合(1001-1072)

    1002. A+B for Polynomials(25分): 此题涉及多项式加法。输入包括两个多项式,每个多项式由系数和指数组成,且每个测试案例占据两行。每个多项式的非零项数K不超过10,指数Ni从0到1000递增,且系数aNi给出。输出...

    PAT甲级真题练习1

    2. A+B for Polynomials (25) A+B for Polynomials是一个中等难度的计算题,要求考生编写一个程序来计算多项式A+B的值。该题目考察了考生的基本编程能力和多项式计算能力。 知识点: * 多项式计算 * 变量声明和...

    PAT甲级题解.pdf

    2. 多项式求和:在题解1002 "A+B for Polynomials"中,提到了处理两个多项式的求和问题。输入包含两行,每行表示一个多项式,多项式由指数和对应的系数构成,指数从大到小排列,且无重复。求和后输出的多项式也遵循...

    浙江大学pat题目集合(1001-1091)

    1002题——A+B for Polynomials,该题目涉及两个多项式的加法。每个输入案例包含两行,分别表示两个多项式。每行包含多项式的非零项数K,以及每个项的指数Ni和系数aNi,其中1 ≤ K ≤ 10,0 ≤ NK &lt; ... ≤ 1000。...

    pat题目分类.docx

    - **指数与系数映射** (1002 A+B for Polynomials): 应用哈希表存储多项式的指数和系数。 3. **图论问题**: - **最短路径算法** (如1003 Emergency, 1072 Gas Station, 1087 All Roads Lead to Rome, 1030 ...

    PAT 题目精解但(包括1000题)

    例如,1002题"A+B for Polynomials"要求找到两个多项式的和。解题时,可以通过建立一个系数数组来表示多项式的系数,遍历两个多项式的所有项,将对应的系数相加,最后按照多项式的格式输出和。 3. 贪心算法:贪心...

    pat题集word

    **题1002:A+B for Polynomials (25)** 在此题中,你需要实现两个多项式的相加。每个多项式以非零项的数量K、指数Ni和系数aNi表示,其中1 且0 &lt;= NK &lt; ... 。输入包含两个多项式,输出结果应保持与输入相同的格式,...

    程序员刷题judge-PAT_Solutions::lollipop:MyPAT(AdvancedLevel)练习解决方案

    A+B Format(20 分) 1002 A+B for Polynomials(25 分) 解题思路 对于 C++ 版本的算法,此题并未特别说明指数为整数,但测试用例均通过。 1003 Emergency(25 分) 解题思路 先通过 dijkstra 算法求出最短的路径...

Global site tag (gtag.js) - Google Analytics