【PTA甲级】题解-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 <= 阅读详情

PAT :计算机程序设计能力考试:一个高校编程学习赛,内容基础,据说题目描述含糊不清,造成诸多理解错误。

第一观感是:输入输出样例极少,未给学生充分理解题目,提供更多辅助。

PAT 甲级:英文题目,涉及基础数据结构。【胡说,涉及好多算法】

问题描述

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

求多项式 A + B A + B A+B 的和。

输入格式

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 KN_1a_{N1}N_2a_{N2}...N_ka_{Nk} KN1​aN1​N2​aN2​...Nk​aNk​

where K is the number of nonzero terms in the polynomial, N i N_i Ni​ and a N i a_{Ni} aNi​ ( i = 1 , 2 , ⋯ , K ) (i=1,2,⋯,K) (i=1,2,⋯,K) are the exponents and coefficients, respectively. It is given that 1 ≤ K ≤ 10 1≤K≤10 1≤K≤10, 0 ≤ N k < . . . < N 2 < N 1 ≤ 1000 0≤N_k<...<N_2<N_1≤1000 0≤Nk​<...<N2​<N1​≤1000.

两行输入,每行输入描述一个多项式,包括:多项式的非零项的项数 K ( 1 ≤ K ≤ 10 ) (1≤K≤10) (1≤K≤10),以及每一项的指数 N i N_i Ni​ ( 0 ≤ N k < . . . < N 2 < N 1 ≤ 1000 ) (0≤N_k<...<N_2<N_1≤1000) (0≤Nk​<...<N2​<N1​≤1000) 和系数 a N i a_{Ni} aNi​,使用空格分割。

输出格式

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.

一行输出, 多项式 A + B A + B A+B 的和,格式和输入一样。注意:行尾不可有多余空格,系数保留一位小数。

输入输出样例

输入样例输出样例
2 1 2.4 0 3.2
2 2 1.5 1 0.5
3 2 1.5 1 2.9 0 3.2

样例解释:无。

题解 1

思路分析:请看注释。【坑点:格式化输出】

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
	
	double n[1001] = {0};	// 多项式的各项系数
	int k, z;	// k 多项式项数,z 指数
	double x;	// x 系数

	// 分别读取两个多项式 A、B,并对相同指数的项,系数求和
	for(int i = 0; i < 2; i++) {
		cin >> k;
		while(k--) {
			cin >> z >> x;
			n[z] += x;
		}
	}
	
	// 统计 A + B 和的非零项个数
	int TK = 0;
	for(int i = 1000; i >= 0; i--) {
		if(n[i] != 0) {
			TK ++;
		}
	}

	// 系数保留 1 位小数
	cout << fixed << setprecision(1);
	// 格式化输出
	cout << TK;
	for(int i = 1000; i >= 0; i--) {
		if(n[i] != 0) {
			cout << " " << i << " " << n[i];
		}
	}

	return 0;
}

PTA:7-2 一元多项式的乘法与加法运算(C语言实现) PTA:7-2 一元多项式的乘法与加法运算(C语言实现) 相似问题: 甲级:1002 A+B for Polynomials 添加链接描述 甲级:1009 Product of Polynomials 添加链接描述 #include <stdio.h> int main() { int i,j,k,a[1001]={0},add[1001]={0},mul[2001]={0},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″,因此

1002 A+B for Polynomials

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

hlp_whale的博客 253

别再为GEE注册发愁了!用谷歌Cloud Project,5分钟搞定谷歌地球引擎账户(保姆级图文)

本文提供2024最新版谷歌地球引擎(GEE)账户注册的保姆级教程,通过谷歌Cloud Project快速完成注册,5分钟极速通关。详细解析注册前的准备、分步图解流程、常见误区及解决方案,帮助用户避开90%的注册陷阱,直达GEE核心功能区。

weixin_42557830的博客 200

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

1002 A+B for Polynomials

老顽固也可爱 1106

【Qt】QML-01:使用QtCreator10创建QML工程,并讲解第一个程序:Hello World

QML第一讲:创建QML工程、详解QML第一个程序Hello World

郭老二 7796

基于YOLO11的垃圾分类AI模型训练实战

通过这次实战,我们成功训练出了一个高性能的垃圾分类AI模型。项目展示了从数据准备、模型训练到结果分析的完整流程,为AI在环保领域的应用提供了有价值的参考。项目文件结构│ ├── best.pt # 最佳模型权重│ └── last.pt # 最新模型权重├── results.csv # 详细训练数据├── results.png # 训练曲线图├── confusion_matrix.png # 混淆矩阵└── args.yaml # 训练参数配置。

lydz1的博客 1657

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

OpenMVS :用 colmap制作自己的数据集 重建(用colmap计算位姿,将位姿转为MVS需要的格式)

数据集制作主要是在windows进行,比较方便。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 3326

(PTA记录)1002 A+B for Polynomials (25分)

(PTA记录)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 poly

qq_38437955的博客 325

【unity游戏开发之InputSystem——01】通过写代码监听InputSystem输入(基于unity6开发介绍)

通过写代码监听InputSystem输入(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4892

图解联合概率密度、边缘概率密度、条件概率密度之间的关系

简要图解联合概率密度、边缘概率密度、条件概率密度之间的关系

一个搬运知识的笨小孩 2万+

PTA甲级 1002 A+B for Polynomials

题意 求A有序多项式+B有序多项式后的有序多项式,输入中前者是指数,后者是系数。 思路 双指针法 思想:用一个指针遍历a数组,一个指针遍历b数组。比较两者的指数大小。如果a当前指向的元素指数大的话,将此元素放入答案数组,同时a当前指针往后移动一个。同理对b进行同样的操作。如果a和b当前的指针相同,则将其系数相加(不为0)放入答案数组。 边界条件:可能会导致a或b提前遍历完,所以要将剩余的元素全部...

m714星云的博客 343

如何使用Google Maps API爬取地理数据:详细教程与Python实现

Google Maps API 是一组服务的集合,允许开发者访问地图、地点、路线等地理信息。:将地址转换为地理坐标,或将地理坐标转换为地址。:计算两点之间的行车路线、步行路线等。Places API:获取附近的地点、商店、餐馆等。:计算多个地点之间的距离和时间。在接下来的代码中,我们将结合这些 API,展示如何获取并处理地理数据。本文详细介绍了如何使用 Google Maps API 获取地理数据,涵盖了从地址转经纬度、获取地点详情、计算路线、计算多个地点的距离与时间等多个功能。

2201_76125261的博客 733

PTA甲级-1002 A+B for Polynomials c++

PTA甲级-1002 A+B for Polynomials c++

weixin_44884298的博客 340

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

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

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

【PTA刷题整理】PAT 甲级 1002 A+B for Polynomials

2020.02.20,对map和迭代器的复习,可应用于两个数据有所联系时的题目 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 tes...

weixin_43849089的博客 385

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

PTA 甲级 1002 A+B for Polynomials

A1002 1.注意系数相加为0,那么那一项就不要了 2.如果最后是0系数0指数输出格式是0,不能忘了这种特殊情况,我之前是输出1 0 0.0 3.多项式相加,我用的是链表方法,代码量很大,100+行,效率太低,链表与指针搭配,而数组与下标搭配。 别人的代码思路: 用一个数组即表示一个多项式,下标为指数,内容为系数。多项式相加就是将数组内对应的值 #include <cstdio> c...

xixixi~ 216

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【pta 甲级】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 ...

jiuhu7的博客 224

PTA甲级——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, a...

vina的博客 303

PTA 甲级 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 informati...

ice123muxin的博客 674

PTA甲级考试真题练习2——1002 A+B for Polynomials

题目: 思路: 首先通过getline得到A和B两行的字符串,并且对这两行的字符串进行解析,将系数和指数分别提取出来通过一个结构体,然后存入map结构中,存入的时候就进行判断,如果map中已经存在对应指数的数据,就将指数部分相加再存入,因为map结构是有序的所以已经排列好顺序了,直接输出就行 易错点: 不要忽略系数为0的时候不输出的情况 代码: #include <iostream&g...

醉等佳人归 269

PTA甲级 1002 A+B for Polynomials (C++)

This time, you are supposed to find A+B where A and B are two polynomials. Input Specification: 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 extr

Misdirection 217

PAT甲级——1002 A+B for Polynomials (25分)

类似计数(木桶)排序的思想,定义一个数组,数组下标代表指数,数组值代表系数,用空间换时间,反正MAX只有1000。 1002A+B for Polynomials(25分) This time, you are supposed to findA+BwhereAandBare two polynomials. Input Specification: Each input...

沉迷单车的追风少年 517

PTA甲级 1002 A+B for Polynomials (25分)

题意 给出两行,代表两个多项式,给出指数和幂数,求其加法和。 代码,有坑点。 #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;i++) #define dep(i,a,b) for(int i=b;i>=a;i--) const int maxn=...

lanshan1111的博客 201
上一篇: 【PAT甲级】题解-1001 A+B Format
下一篇: 【PAT甲级】题解-1005 Spell It Right
老坛算粉
博客等级 码龄12年 708粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值