• 1002. A+B for Polynomials (25) (浮点数判0)


    This time, you are supposed to find A+B where A and B are two polynomials.

    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
    

     这题翻译过来其实就是多项式加法

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<math.h>
     4 
     5 int main()
     6 {
     7     int n;
     8     int i,j;
     9     double xi;
    10     int zi;
    11     double a[1005];
    12     int cnt=0;
    13 
    14     for( i=0;i<1005; i++)
    15     {
    16         a[i] = 0;
    17     }
    18     for( i=0; i<2; i++){
    19         scanf("%d",&n);
    20         for( j=0; j<n; j++){
    21             scanf("%d %lf",&zi,&xi);
    22             a[zi] += xi;
    23         }
    24     }
    25 
    26     for( i=1000; i>=0; i--){
    27         if( fabs(a[i])>1e-15)
    28              cnt++;
    29     }
    30     printf("%d",cnt);
    31     for( i=1000; i>=0; i--){
    32         if( fabs(a[i])>1e-15)
    33             printf(" %d %.1lf",i,a[i]);
    34     }
    35 
    36     return 0;
    37 }
    在这个国度中,必须不停地奔跑,才能使你保持在原地。如果想要寻求突破,就要以两倍现在速度奔跑!
  • 相关阅读:
    001 云开发基础
    HttpClient 调用外部接口(简单实用)
    MD5加密(简单实现_可自行扩展)
    SAA C02考点梳理
    支配树
    CF1320E 题解
    dp套dp
    20210705模拟赛总结
    20210703模拟赛
    20210629模拟赛总结
  • 原文地址:https://www.cnblogs.com/yuxiaoba/p/8422619.html
Copyright © 2020-2023  润新知