PAT甲级真题 1002. A+B for Polynomials

【PAT甲级 C++】1002. A+B for Polynomials This time, you are supposed to find A+B where A and B are two polynomials. 这一次,您应该找到A + B,其中A和B是两个多项式。 (也就是说,把次数一样的系数加起来) Input 每个输入文件包含一个测试用例。每个用例占用2行,每行包含多项式的信息:K N1 aN1 N2 aN2 …NK aNK, 其中 K 是多项式中非零项的数量,Ni 和 aNi (i=1, 2, …, K) 分别是指数和系数。假设 1 <= K <= 阅读详情

题目链接:https://www.patest.cn/contests/pat-a-practise/1002


题意:给我们两个多项式的每一位的指数和系数,让我们求解两个多项式的和。

题目给出的指数范围是0 ~ 1000,所以我们可以直接定义一个1000大小的数组来存储每一位的系数。最后我们再对每一位进行相加,再遍历一遍这个数组查看非0的位数,并将其打印出来。

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1005;
const double EPS = 1e-6;
double a[maxn], b[maxn];
int main() {
	int k1, k2;
	while(scanf("%d", &k1) != EOF) {
		memset(a, 0, sizeof(a));
		memset(b, 0, sizeof(b));
		for(int i=0; i<k1; i++) {
			int n;
			double m;
			scanf("%d%lf", &n, &m);
			a[n] = m;
		}
		scanf("%d", &k2);
		for(int i=0; i<k2; i++) {
			int n;
			double m;
			scanf("%d%lf", &n, &m);
			b[n] = m;
		}
		for(int i=0; i<=1000; i++) {
			a[i] = a[i] + b[i];
		}
		int num = 0;
		for(int i=1000; i>=0; i--) {
			if(abs(a[i] - 0) > EPS) num++;
		}
		printf("%d", num);
		for(int i=1000; i>=0; i--) {
			if(abs(a[i] - 0) > EPS) {
				printf(" %d %.1lf", i, a[i]);
			}
		}
		printf("\n");
	}
}

PAT A1002 A+B for Polynomials (25) PTA跳转:原题链接 这道题相对比较简单,题目大意是输入两行数据,每一行的第一个数据表示这个多项式有多少对数据(包括指数和系数),每行数据代表一个多项式(如”2 1 2.4 0 3.2″表示”2.4x+3.2“,“2 2 1.5 1 0.5″表示”1.5×2+0.5x”)。然后这两个多项式相加,按指数从大到小输出这个多项式。(如前面两个多项式相加后的多项式为”1.5×2+2.9x+3.2“,即输出结果是”3 2 1.5 1 2.9 0 3.2“) 导致“部分正确”的测试点: 1.系数可以是小数,因此数组声明时不能用int。 2.系数不仅可以从”0″变成”非0″,还可以从”非0″变成”0″,因此 立即下载

相关推荐

Android无线调试:adb tcpip连接实战指南

本文详细介绍了Android无线调试的完整流程,重点讲解如何使用adb tcpip命令通过Wi-Fi连接设备,摆脱数据线束缚。涵盖环境配置、连接实战、稳定性优化及常见问题排查,帮助开发者高效实现无线adb调试,提升工作效率。

pink的博客 723

1002 A+B for Polynomials

将两个多项式相加,多项式的项数和具体的值都已经给出,要做的就是对应起来相加。

hlp_whale的博客 253

Kettle 连接 Oracle 数据库全流程指南

例如:C:\Oracle\product\19.0.0\dbhome_1\jdbc\lib\ojdbc8.jar 2. 替换 Kettle 驱动文件 将驱动文件复制到 Kettle 的 目录: 删除旧版本驱动:如 ojdbc14.jar 只能保留一个oracle驱动 重启 Kettle 以加载新驱动 二、配置数据库连接 1. 启动 Kettle 并新建转换 运行 (Windows)或 (Linux)。 新建转换(Transformation),添加 “表输入” 步骤,双击进入配置。 2.

qq_44724453的博客 3483

1002 A+B for Polynomials(模拟,多项式相加)

1002 A+B for Polynomials

老顽固也可爱 1106

GEO优化内容营销策略:从规划到落地的全流程指南

GEO内容营销是通过地域化内容提升本地搜索排名、增加流量和转化率的策略。核心包括:构建本地用户画像,挖掘需求关键词;策划本地文化融合、案例研究等多样化内容;通过网站、社交媒体、本地KOL等渠道精准分发;优化本地关键词和视觉元素;监测数据并动态调整。案例显示,咖啡馆、工业企业和服装品牌通过本地化短视频、KOL合作及社群运营,显著提升了搜索排名、客流量和销售额。关键原则是内容本地化、精准分发、KOL合作、激励用户生成内容及数据驱动优化,实现高效本地市场渗透。

解锁AI流量新红利!🚀 GEO优化(生成引擎优化)助您掌控AI搜索,让AI成为您的品牌最佳代言人! 1330

NXP MCU CAN波特率(位时间)配置详解

1. 概述 本文将会详细讲解如何设置NXP MCU的CAN波特率、位时间、采样点等属性。 波特率即CAN总线传输频率,位时间是波特率的倒数,例如波特率是500K,那么位时间 = 1 / 500000 = 0.000002s = 2000ns。 我们先来看一下S32K144单片机的EB中与CAN总线波特率相关的可配置参数有哪些: ...

weixin_42967006的博客 9691

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

qq_41698081的博客 335

Linux蓝牙开发实战:5分钟搞懂BlueZ与D-Bus通信原理(附D-Feet调试技巧)

本文深入解析Linux下BlueZ蓝牙协议栈与D-Bus通信的核心机制,提供实战开发指南。通过D-Bus对象模型、信号订阅等关键技术点的详细讲解,配合D-Feet工具的高效调试技巧,帮助开发者快速掌握蓝牙设备管理与性能优化方法,提升物联网开发效率。

3a9bq4r8t2y的博客 330

PAT甲级真题 1002 A+B for Polynomials

一、题目 二、思路 多项式加法,数据结构学习链表时的典型应用。emm不过忘得差不多了,自己用数组写了一遍。几个关键点:多项式A和B的项数不同时的处理、多项式相加后的和的项数。 三、代码 #include <stdio.h> int main() { //ak、bk、ck存储项数,ae、be、ce存储指数 int ak, bk, tmp, ae[10] = { 0 }, be[...

Superpig的博客 401

fastbin attack快速入门

0x01 fastbin简介 Fastbin包含0x20~0x80大小bin的数组指针,用于快速分配小堆块。fastbin按照单链表结构进行组织,相同大小的bin在同一个链表中,fd指向下一个bin,采用LIFO(Last In First Out)机制。在fastbin中,堆块的inuse标志都为1,处于占用状态,防止chunk释放时进行合并,加快小堆块的分配。 正常fastbin的使用 通过这个简单的案例来了解fastbin的单链表结构,malloc和free的过程。 #include<stdio

abelxu 1571

带洞多边形如何分成凸多边形集合,对多边形进行凸分解?

摘要: 凸分解是计算几何中的经典问题,分为三角化和凸分解两种方法。三角化将带洞多边形转换为简单多边形并分割为三角形,常用算法包括耳剪法、单调多边形三角化等。凸分解则生成更少但更大的凸多边形,常用Hertel-Mehlhorn算法或基于凹点的递归切割。实际应用中建议使用CGAL、Poly2Tri等成熟库处理。三角化适合图形渲染,凸分解更适用于物理引擎和路径规划。关键步骤包括数据校验、选择合适的算法及后处理优化。

插件开发 355

「PAT甲级真题解析」Advanced Level 1002 A+B for Polynomials

题目要求计算两个多项式的和, 多项式求和是有固定步骤的, 所以这是一道根据定义/规则精准翻译为代码的模拟题。 多项和求和的规则为: 将两个多项式中指数相同的项的系数相加作为和多项式该指数项的系数, 这意味着, 如果我们用将所有项都罗列出来(没有的项表示为系数为0的形式), 则只要依次做N次加法就可以求得和多项式各个项的系数。

过美好生活,做高效程序员 5312

发那科机器人通信库使用指南与踩坑记录

GitHubNuGet(如本文基于该库,在 C# / .NET 下通过 TCP 与 FANUC 机器人控制器通信,实现读当前位姿、PR 寄存器、以及 DI/DO/GI/GO 等 IO 的读写。GitHubNuGet(如本文基于该库,在 C# / .NET 下通过 TCP 与 FANUC 机器人控制器通信,实现读当前位姿、PR 寄存器、以及 DI/DO/GI/GO 等 IO 的读写。

songhuangong123的博客 323

1002. A+B for Polynomials (25)-PAT甲级真题

This time, you are supposed to find A+B where A and B are two polynomials. InputEach input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynom...

柳婼 の blog 5333

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【PAT】A1002 A+B for Polynomials (25)-PAT甲级真题

A1002 A+B for Polynomials (25)

paoxia333的博客 394

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

PAT甲级真题 1002 A+B for Polynomials (25分) C++实现

题目 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 pol...

zhang35的博客 660

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PAT甲级真题打卡:1002. A+B for Polynomials

题目: 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 ...

weixin_30858241的博客 87

PAT甲级真题及训练集(3)--1002. A+B for Polynomials (25)

1002. A+B for Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue This time, you are supposed to find A+

为梦想而奋斗,无悔_一叶扁舟的点滴成长! 484

Pat-甲级真题——1002 A+B for Polynomials (25)(源代码与思路)

This time, you are supposed to find A+B where A and B are two polynomials.InputEach input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomia...

jack_zj123的博客 781

PAT甲级_1002_A+B for Polynomials

pat甲级1002

weixin_43849148的博客 349

PAT甲级1002题A+B for Polynomials

PAT甲级1002题A+B for Polynomials 原题传送链接 题目描述: 1002A+B for Polynomials(25分) This time, you are supposed to findA+BwhereAandBare two polynomials. Input Specification: Each input file cont...

theStrongestPit的博客 687

PAT甲级题目1002 A+B for Polynomials

题目大意: polynomials(多项式)exponents(指数)coefficients(系数) 给出两个多项式,求他们的和按给定格式输出。 给出的多项式的格式: K N1 aN1 N2 aN2 …NK aNK ​​K(多项式中项的数目)Ni(多项式中第i项的指数)aNi(多项式中第i项的系数) 思路: ①建立一个浮点数数组,下标存放多项式的指数,数组的值存放多项式的系数 ②遍历给出的两个多项式求出他们的和 ③按给定格式输出 代码: #include<cstdio> double num[

weixin_43801993的博客 522

PAT甲级 1002 A+B for Polynomials

PAT甲级 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 e...

旺崽的博客 2889

PAT 甲级题目讲解:1002《A+B for Polynomials》

本文是 PAT 甲级 1002 题《A+B for Polynomials》的详细题解,介绍了多项式加法的实现方法:使用数组以指数为下标、累加系数,再统计非零项并按降幂输出。文章涵盖题目要求、样例分析、解题思路、完整代码、常见错误提醒及复杂度分析,并提供思维拓展,帮助读者掌握稀疏多项式合并的典型处理技巧。

qq_35624947的博客 850

PAT练习题(甲级) 1002 A+B for Polynomials

PAT练习题 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 ...

CoderHqf的博客 9437

[Python]PAT 甲级 1002 A+B for Polynomials

[Python]PAT 甲级 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 lin...

wyf1291147181的博客 541
上一篇: PAT甲级真题 1001. A+B Format
下一篇: 决斗场 - 实验吧 WEB Once More
RaAlGhul
博客等级 码龄11年 140粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值