PAT甲级第二题-- A+B for Polynomials
Posted C_YCBX Py_YYDS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT甲级第二题-- A+B for Polynomials相关的知识,希望对你有一定的参考价值。
题目描述
题意解读
怎么说呢,由于是全英文,看懂题意是有一点壁垒的,题意:输入两行数字,每行的第一个代表接下来有多少个多项式项数,每个多项式项数由两个部分组成,指数和系数,指数都是正整数,系数用小数代替。
- 理解完题意后,我们发现题目异常的简单。。。就顺着题意给它输出就行了,和我之前做过的题远远不在一个量级。。。
但是有一个巨坑:每个项数的系数需要保留小数点后一位,当时完全是没看懂。。后面一直不通过后,在网上查到的,这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)