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

  • Post author:
  • Post category:其他




题目描述




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;
} 



版权声明:本文为m0_50945504原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。