PAT甲级(Advanced Level) Practice 1002 A+B for Polynomials

原题

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 each line contains the information of a polynomial: K N_{1}a_{N_{1}} N_{2}a_{N_{2}}...N_{K}a_{N_{K}} where K is the number of nonzero terms in the polynomial, N_{i} and a_{N_{i}}​​ (i=1,2,⋯,K) are the exponents and coefficients, respectively. It is given that 1\leq K\leq 10, 0\leq N_{K}< ...< N_{2}<N_{1}\leq 1000.

Output Specification:

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

 题目翻译

这次,你要求出 A+B,其中 A 和 B 是两个多项式。

输入规范:
每个输入文件包含一个测试用例。每个案例占 2 行,每行包含一个多项式的信息: K N_{1}a_{N_{1}} N_{2}a_{N_{2}}...N_{K}a_{N_{K}} 其中 K 是多项式中非零项的数目, N_{i}a_{N_{i}} (i=1,2,⋯,K) 分别为指数和系数。给定1\leq K\leq 10, 0\leq N_{K}< ...< N_{2}<N_{1}\leq 1000 。

输出规范:

对于每个测试用例,应在一行中输出 A 和 B 的总和,格式与输入相同。请注意,每行末尾不得有多余的空格。请精确到小数点后 1 位

解题思路

题目比较简单, N最大为1000,果断暴力求解。

 代码(c++)

#include <bits/stdc++.h>

using namespace std;

const int N = 1010;

int n,x;
double a[N] = {0};                // 数组下标表示指数, 值为对应指数的系数

int main()
{
    cin >> n;                     // 读入第一个多项式
    int x;
    double y;
    for(int i = 0; i < n; i++){
        cin >> x >> y;
        a[x] += y;
    }

    cin >> n;                    // 读入第二个多项式
    for(int i = 0; i < n; i++){
        cin >> x >> y;
        a[x] += y;
    }

    int count = 0;               // 计算系数不为0的多项式数量
    for(int i = 0; i <= 1000; i++) if(a[i] != 0) count++;
    
    printf("%d", count);
    for(int i = 1000; i >= 0; i--)
        if(a[i] != 0) printf(" %d %.1lf", i, a[i]);  // 先输出空格让末尾无多余空格
    
}

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
1. 智慧监狱概述 智慧监狱的建设背景基于监狱信息化的发展历程,从最初的数字化监狱到信息化监狱,最终发展到智慧监狱。智慧监狱强调管理的精细化、监管的一体化、改造的科学化以及办公的无纸化。政策上,自2017年以来,司法部连续发布了多项指导性文件,推动智慧监狱的建设。 2. 内在需求与挑战 智慧监狱的内在需求包括数据应用与共享的不足、安防系统的单一功能、IT架构的复杂性、信息安全建设的薄弱以及IT运维的人工依赖。这些挑战要求监狱系统进行改革,以实现数据的深度利用和业务的智能化。 3. 技术架构与设计 智慧监狱的技术架构包括统一门户、信息安全、综合运维、安防集成平台和大数据平台。设计上,智慧监狱采用云计算、物联网、大数据和人工智能等技术,实现资源的动态分配、业务的快速部署和安全的主动防护。 4. 数据治理与应用 监狱数据应用现状面临数据分散和共享不足的问题。智慧监狱通过构建数据共享交换体系、数据治理工具及服务,以及基于数据仓库的数据分析模型,提升了数据的利用效率和决策支持能力。 5. 安全与运维 智慧监狱的信息安全建设涵盖了大数据应用、安全管理区、业务区等多个层面,确保了数据的安全和系统的稳定运行。同时,综合运维平台的建立,实现了IT系统的统一管理和自动化运维,提高了运维效率和系统的可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值