PAT(Advanced) 1002 A+B for Polynomials C++实现
PAT(Advanced) 甲级1002 A+B for Polynomials C++实现
题目链接
PAT(Advanced)1002 A+B for Polynomials
题目大意
给定两个多项式,求出其和
算法思路
设置一个数组,下标作阶码,累加即可!
AC代码
#include <bits/stdc++.h>
using namespace std;
const int MAX_SIZE = 1000 + 10;
int main(int argc, char const *argv[])
{int K;float polynomials[MAX_SIZE] = {0};int maxExponent = -1;for (int i = 0; i < 2; i++) {cin >> K;for (int j = 0; j < K; j++) {int exponent;float coefficient;cin >> exponent >> coefficient;polynomials[exponent] += coefficient;maxExponent = max(maxExponent, exponent);}}int cnt = 0;for (int i = maxExponent; i >= 0; i--) {if (polynomials[i] != 0) {cnt++;}}printf("%d", cnt);for (int i = maxExponent; i >= 0; i--) {if (polynomials[i] != 0) {printf(" %d %.1f", i, polynomials[i]);}}return 0;
}
样例输入
2 1 2.4 0 3.2
2 2 1.5 1 0.5
样例输出
3 2 1.5 1 2.9 0 3.2
鸣谢
感谢PAT提供的题目及测评平台!
最后
本题为简单题,注意一些边界情况即可!
由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!
发布评论