• 1002 A+B for Polynomials (25 分)(模拟)


    Description

    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

    生词

    英文 解释
    polynomial 多项式
    exponents 指数
    coefficients 系数
    decimal 小数
    Please be accurate to 1 decimal place. 请精确到小数点后1位。

    分析

    跟柳神思路一样,开心~

    题解

    #include <bits/stdc++.h>
    
    using namespace std;
    
    double num[1010];
    int main()
    {
    #ifdef ONLINE_JUDGE
    #else
        freopen("1.txt", "r", stdin);
    #endif
        int k,a,cnt=0;
        double b;
        scanf("%d",&k);
        for(int i=0; i<k; i++)
        {
            scanf("%d %lf",&a,&b);
            num[a]+=b;
        }
        scanf("%d",&k);
        for(int i=0; i<k; i++)
        {
            scanf("%d %lf",&a,&b);
            num[a]+=b;
        }
        for(int i=0; i<1010; i++){
            if(num[i]!=0) cnt++;
        }
        printf("%d",cnt);
        for(int i=1009; i>=0; i--){
            if(num[i]!=0) printf(" %d %.1f",i,num[i]);
        }
    }
    
  • 相关阅读:
    模拟赛12-10
    uva-11235
    中国剩余定理
    待学算法
    A
    动态逆序对
    [BZOJ3011][Usaco2012 Dec]Running Away From the Barn
    题目1007:奥运排序问题(结构体排序)
    题目1006:ZOJ问题(字符串处理)
    题目1005:Graduate Admission(结构体排序)
  • 原文地址:https://www.cnblogs.com/moonlight1999/p/15510017.html
Copyright © 2020-2023  润新知