PAT甲级第二题-- A+B for Polynomials

Posted C_YCBX Py_YYDS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT甲级第二题-- A+B for Polynomials相关的知识,希望对你有一定的参考价值。

题目描述


oj平台

题意解读

怎么说呢,由于是全英文,看懂题意是有一点壁垒的,题意:输入两行数字,每行的第一个代表接下来有多少个多项式项数,每个多项式项数由两个部分组成,指数和系数,指数都是正整数,系数用小数代替。

  • 理解完题意后,我们发现题目异常的简单。。。就顺着题意给它输出就行了,和我之前做过的题远远不在一个量级。。。

但是有一个巨坑每个项数的系数需要保留小数点后一位,当时完全是没看懂。。后面一直不通过后,在网上查到的,这PAT练习系统也太难受了吧,测试IO都没办法查看。。

英语积累

polynomials 多项式
exponents 指数、观点
coefficients 系数
respectively 分别、个别
decimal 小数的、十进位的

关键句意:
//where K is the number of nonzero terms in the polynomial.
//这里的k是这个多项式的非零项的个数。
//Please be accurate to 1 decimal place.
//请精确到小数点后一位。

解题代码

#include<bits/stdc++.h>
using namespace std;
float express[1002];
void solve(){
	int n;cin>>n;
	while(n--){
		int a;float b;cin>>a>>b;
		express[a] += b;
	}
}
int check(){
	int cnt = 0;
	for(auto t:express){
		if(t!=0)
			cnt++;
	}
	return cnt;
}
int main(){
//solve函数用于读取数据更新数组
//check函数检查有多少个项数
	solve();
	solve();
	cout<<check();
//根据指数从大到小输出
	for(int i=1001;i>=0;i--){
		if(express[i]!=0)printf(" %d %.1f",i,express[i]);
	}
	return 0;
} 

以上是关于PAT甲级第二题-- A+B for Polynomials的主要内容,如果未能解决你的问题,请参考以下文章

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

PAT-甲级-1001-A+B for Polynomials

PAT 甲级 1002 A+B for Polynomials

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

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

甲级 PAT A+B for Polynomials