1002 A+B for Polynomials (25分) 详解+易错点

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″,因此 立即下载

注意点:系数为0,则不输出,例:

其中-1和1相加为0,则在输出时避免这一项,而且要注意结果的K值,不要包括这一项,


思路,利用结构体存储系数和指数,然后利用两个数组分别存储两个输入,循环查找指数相同项,把它们的系数相加,然后判断是否为0,如果不为0则放入结果数组中,然后将它们的系数设为一个特殊的值(就是随便想的一个值),最后,再进行一次循环判断该项的系数是否为特殊值,不为特殊值则放入结果数组(设置特殊值就是用于跳过已经用于系数相加的项,并且避免麻烦的删除),最后先按指数从大到小的方式进行排序,然后将结果输出,先输出结果数组的长度,然后以空格指数空格系数的方式输出结果

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≤K≤10,0≤N​K​​<⋯<N​2​​<N​1​​≤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
#include <bits/stdc++.h>
using namespace std;
struct poly{
	int ex;
	double co;
};
bool cmp(poly a,poly b){
	return a.ex>b.ex;
}
int main(){
	int k1,k2;
	poly po;
	cin>>k1;
	vector<poly> v1(k1);
	for(int i=0;i<k1; i++){
		cin>>v1[i].ex>>v1[i].co;
	}
	cin>>k2;
	vector<poly> v2(k2),res;
	for(int i=0;i<k2; i++){
		cin>>v2[i].ex>>v2[i].co;
	}
	for(int i=0;i<k1;i++){
		for(int j=0;j<k2;j++){
			if(v1[i].ex==v2[j].ex){
				po.ex = v1[i].ex;
				po.co = v1[i].co+v2[j].co;
				if(po.co!=0)res.push_back(po);
				v1[i].co=-1.129;
				v2[j].co=-1.129;
				break;
			}
		}
	}
	for(int i=0;i<k1;i++){
		if(v1[i].co!=-1.129)res.push_back(v1[i]);
	}
	for(int i=0;i<k2;i++){
		if(v2[i].co!=-1.129)res.push_back(v2[i]);
	}
	cout<<res.size();
	sort(res.begin(),res.end(),cmp);
	for(int i=0;i<res.size();i++){
		printf("%s%d%s%.1f"," ",res[i].ex," ",res[i].co);
	}
}
 

 

 

Hifiasm参数调优实战:当N50不理想时的7个排查方向与解决方案 本文详细解析了Hifiasm参数调优实战,针对基因组组装中N50不理想的7个排查方向与解决方案。通过调整--hom-cov、-D、-N等核心参数,结合HiFi数据和参考基因组分析,有效提升组装质量。文章以猪毛菜基因组为例,展示了从2.1MB到4.3MB的N50优化过程,为生物信息学研究者提供实用指南。 阅读详情

相关推荐

在Window上安装和配置VTK9.x,并在QT项目中调试VTK是否可用

VTK+MSVC+Qt Creator + CMake配置

qq_42279379的博客 1000

1002 A+B for Polynomials

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

hlp_whale的博客 253

华为S7700交换机Console密码重置全流程详解

本文详细解析了华为S7700交换机Console密码丢失后的重置全流程。通过进入BootROM菜单清除密码,并涵盖单/双主控场景操作、必备工具连接、常见问题排查及重置后的安全配置建议,帮助网络工程师掌握核心交换机的关键应急恢复技能,确保运维安全。

resnet7explorer的博客 539

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

1002 A+B for Polynomials

老顽固也可爱 1106

告别‘耀斑’降落:手把手教你用PX4+激光测距仪实现固定翼精准自动着陆

本文详细介绍了如何利用PX4飞控与激光测距仪实现固定翼无人机的精准自动着陆,解决传统气压计在低空环境下的测量误差问题。通过硬件选型、安装要点、PX4参数配置及实战调校,帮助开发者实现厘米级高度感知,优化降落曲线,提升着陆稳定性与安全性。

weixin_30336061的博客 520

基于 SquashFS 构建 Linux 可读写文件系统

嵌入式 Linux 启动过程 本文所描述的的 Linux Image 由 BootLoader、kernel、initrd、rootfs 组成,它们共同存在于一个可以启动的存储设备中(本文以 USB 为例)。组成架构如下: 图 1. 可启动 linux 镜像文件结构 各个模块的作用如下: Boot Loader:由 BIOS 加载,用于将后续的 Kernel 和 initrd 的装载到内存中 kernel:为 initrd 运行提供基础的运行环境 initrd:检测并加载各种驱动程序 ro

wzq2009的专栏 1174

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

UFS Host Controller工作流程

contentsUFS架构图HCI接口架构传输请求接口(Transfer Request Interface)UFS 主机控制器寄存器接口(host controller Interface)UTP 层数据传输Host Software与Host Controller的交互Host Controller初始化配置与控制CRYPTOCFG 配置过程 该文档描述了UFS Host Controller的主要运作流程以及在开源内核代码hisi平台中的host controller的接口函数设计 文档大部分内容参

Frank_sample的专栏 1万+

【PAT甲级】1002 A+B for Polynomials 两种解法

【题意】 输入俩多项式,计算加和并输出;注意系数可以是小数,并且输出时要保留一位小数,同时要按指数递降顺序输出结果。

咚咚咚咚唔de博客 452

Agentic RAG:RAG从静态到具有理解、推理、决策的Agentic RAG

RAG技术演进:从静态检索到智能代理 RAG(检索增强生成)技术经历了五个关键发展阶段:基础RAG(关键词检索)、高级RAG(语义理解)、模块化RAG(灵活架构)、图RAG(知识图谱)和最新的Agentic RAG(智能代理)。Agentic RAG通过引入自主AI代理,具备反思、规划、工具使用和多代理协作能力,实现了动态决策和自适应工作流。相比传统RAG的静态检索流程,Agentic RAG能处理复杂多步推理任务,通过自我改进机制提高输出质量,并支持多专业代理协作,显著提升了RAG系统在复杂场景下的表现。

2537

Android 11多窗口+分屏+APP窗口嵌套TaskView实现原理一

然而随着版本的迭代升级,google对分屏的定制差异化也越来越大,Androd 11的分屏用的是split-screen-primary和split-screen-secondary的方式,在systemui中去实现的,其定制化的灵活度不是很高,很多业务都是放到sustemui或者fw去实现,但是随着版本的升高,后面出现了TaskView来替代了老版本的分屏方式,但是Task的核心原理其实和之前的方式是一样的,TaskView来实现分屏。

qq_18420641的博客 2615

PAT甲级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 each line contains the information of a polynomial: K N1 a​N​1 N2 a​N​2​​ … N​K​​ a​

xxxibgdrgn博客 202

使用 Pfam 和 InterProScan 进行蛋白质家族和功能域的分析

本文介绍了使用Pfam和InterProScan进行蛋白质家族与功能域分析的方法。主要内容包括:1) Pfam数据库的本地化使用,通过hmmscan工具比对Pfam-A.hmm数据库,并提供了批量处理Python脚本;2) InterProScan的安装配置与命令行参数详解,支持多数据库整合分析;3) 补充介绍了基于curl的Uniprot在线查询方法。文章提供了从软件安装到实战分析的完整流程,适用于本地化、批量化蛋白质功能注释需求,特别是无网络环境或大规模数据分析场景,适合不同水平的生物信息学用户。

Protein Designer的博客 1918

PAT1002 A+B for Polynomials (25分)

今日随笔–PAT (Advanced Level) Practice 1002@TOC 1002 A+B for Polynomials (25分) 花了点时间改进代码,其实用map很合适。 复习了map容器相关知识点 题意 看英文题目很不习惯,但是也没那么难懂。学习一些新单词: polynomial–多项式 exponent-- 指数/幂 coefficient–系数 就是识别输入,然后对应项相加,精确到小数点后一位,诶,对了,提醒了我 double类型的数,printf("%.1lf",num) 不是%

qq_44189683的博客 297

Statistics and Machine Learning Toolbox

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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 each line contains the informa...

WuodCutter的博客 160

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

PAT甲级 1002 A+B for Polynomials (25 分) -- setiosflags( )的用法

先粘题 原题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000 1002 A+B for Polynomials (25 分) This time, you are supposed to findA+BwhereAandBare two polynomials. Input Specification: Each input file contains one test cas...

赵小轩的博客 1534

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【PAT甲级 TreeMap的使用】1002 A+B for Polynomials (25 分) Java版 6/6通过

题目 坑 & 心得 注意系数保留一位小数,次数是整数 当系数是0的时候,不要输出。(最后一个测试点) 行末不要有多余空格,可以通过StringBuilder的deleteCharAt(sb.length() - 1);方式解决;不放心/怕误删的话,可以检测StringBuilder末尾是否为空格,如果是,再删除 一些小技巧 格式化小数位数 DecimalFormat df = n...

寒泉 1万+

1002 A+B for Polynomials (25 分)题解

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 each line contains the information of a polynomial: [外

little_White12的博客 351

PAT甲级1002_A+B for Polynomials_模拟

易错点 题目要求输出非0的系数 但是非零并不等价于不在AB两个数组里 如果在AB两个数组里出现过,但运算后系数为0,仍不要输出 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int inf = ~0u >> 2; //1073741823 const ll INF = ~0ull >> 2; //4611686018427387903 const int maxn =

HDUCheater的博客 337

【PAT甲级题解记录】1002 A+B for Polynomials (25 分)

This time, you are supposed to find *A*+*B* where *A* and *B* are two polynomials. 简单来说给定俩个多项式求和。

retr0的博客 134

A1002 A+B for Polynomials (25 分)

易错点: 会使用count计数,这里要注意正负抵消的问题,两个多项式的某一个相同幂次得到项可能刚好为相反数,这样就会导致相加后为0了。因此要注count必须在两项相加后再判断是否自减。 输出时格式上要注意,需要保留一位小数。 printf("%.1f", i); 代码: #include <iostream> using namespace std; int main(int argc, char** argv) { int n, m, count = 0; cin

alovelypeach的博客 290

PAT 甲级 1002 A+B for Polynomials

PAT 甲级 1002 A+B for Polynomials 详细题解

优快云_Crazy777的博客 179

PAT-1002 A+B for Polynomials c++实现

1、题目内容 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_42783170的博客 243

【PAT】1002 A+B for Polynomials (25 分)

题目大意:给出两个数字A、B,每个数字都由K个非0的数组成(该数最大为1000位)。要求计算A + B,即将A、B每一位的数字对应相加,最后输出相加后的多位数(最后结果保留1位小数)。 思路: 用数组存数字,用变量index记录位数,将数字存入数组相应位置。 因为最后要统计相加后的数里有几个非零数,所以可将结果存在一个数组里。 用cnt存数字里的非零数(而不是数字的最大位!仔细读题!) 知识点: vector 代码: #include <iostream> #in..

SSibyl的博客 158

(PAT甲级)1002 A+B for Polynomials(简单模拟)

【代码】(PAT甲级)1002 A+B for Polynomials(简单模拟)

zeng_han_cheng的博客 220
上一篇: PAT甲级题解目录,考点目录
Linuxsen
博客等级 码龄9年 4粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值