PAT 1009 Product of Polynomials

标签: PAT  算法  数据结构

题目描述

英文

在这里插入图片描述

中文大意

输入两个多项式,按格式输出这两个多项式的乘积
第一位都代表 多项式中非零项的个数
2 1 2.4 0 3.2 表示 2.4x + 3.2
其中 指数K 的范围在 [1,10],系数N的范围在 [0, 1000]
同样的精确到小数点后1

样例

在这里插入图片描述

思路分析

类似于1002 A+B 思路可以仿照它
按照规定的思路走,其实还是暴力法
需要注意的点:

  1. cnt 计数需要单独遍历一遍
  2. 注意输出的是 非零项
  3. 这道题目也可以用map 不过1002用了这里就用常规的方法吧,万一以后上机不让用map不是傻*了

code

#include <iostream>
#define MaxSize 1001
using namespace std;

int main(){
    double a[MaxSize] = {0};
    double b[MaxSize] = {0};
    double res[2 * MaxSize - 1] = {0};

    int num;
    cin >> num;
    for (int i = 0;i < num;i++) {
        int k;
        double n;
        cin >> k >> n;
        a[k] = n;
    }
    cin >> num;
    for (int i = 0;i < num;i++) {
        int k;
        double n;
        cin >> k >> n;
        b[k] = n;
    }
    // 指数从1开始
    for (int i = 0;i < MaxSize;i++) {
        for (int j = 0;j < MaxSize;j++) {
            res[i+j] += a[i] * b[j];
        }
    }
    // 非零项计数
    int cnt = 0;
    // 格式化输出
    for (int i = 0;i < 2*MaxSize-1;i++) {
        if (res[i] != 0.0) cnt++;
    }

    cout << cnt;
    if (cnt == 0) return 0;
    for (int i = 2*MaxSize-2;i >= 0;i--) {
        if (res[i] != 0) printf(" %d %.1lf", i, res[i]);
    }
    return 0;
}

题目链接

1009 Product of Polynomials (25分)

版权声明:本文为qq_43815011原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43815011/article/details/106657695

智能推荐

PAT A1009. Product of Polynomials (25)

Product of Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue This time, you are supposed to find A*B where A and B are two polynomials. Input Specification: Each inp...

PAT甲级1009 Product of Polynomials (25分)

PAT甲级1009 Product of Polynomials (25分) 题目: 题目分析:和之前有一道多项式相加很像,注意点是不仅仅数组系数会变,还可能会出现之前没有的指数,因此要开2001大小的数组,注意别越界,并且还要注意,累加的时候要变成n方的时间复杂度,输出的时候为%.1f,输入的时候为double,%lf。~~...

PAT真题(C语言)——1009:Product of Polynomials

方法基本和1002题一样,只不过这里用二重循环实现相乘的过程。 唯一要注意的一点是,对于系数为0的项是不计入统计的,这里系数为0不光是输入的两组数中包含系数为0,还有可能是在某个结果本来不为0(比如系数为-1.5),加上了新的系数(如1.5)后就为0了,因此每次做完加法还要再判断一次,否则第一个测试点通不过,代码如下:...

PAT甲级 - 1009 Product of Polynomials (25 分)

题目链接:PAT甲级 - 1009 Product of Polynomials (25 分) This time, you are supposed to find A×B where A and B are two polynomials. Input Specification: Each input file cont...

pat-1009 Product of Polynomials (25分)

与1002的多项式相加类似。 其实我在做得时候还是发现,自己对数组的理解还是不都深刻。通过索引映射出索引位置的值。 在这一道题目里,次数对应的是所应项,系统就是索引所对应的值。...

猜你喜欢

PAT(A)1009 Product of Polynomials (25分)

Sample Input Sample Output 思路: 多项式乘法,用三个数组存储多项式1, 2, 结果。输出有几个项,和这几个项对应的指数和系数。 代码:...

PAT A1009 Product of Polynomials (25分)

文章目录 题目描述 知识点 我的实现 码前思考 代码实现 码后反思 题目描述 知识点 模拟题 我的实现 码前思考 就是模拟题了 代码实现 码后反思 需要注意的是,两个指数相加之后可能会大于1000,所以数组的范围应该是大于2000的,我第一次提交的时候最后两个测试用例出现了段错误,就是因为这个原因。...

安卓:通过BaseAdapter适配器对ListView组件的简单应用案例

项目结果演示: 案例实现流程: 在布局文件中新建一个ListView组件 ↓ 在另一个布局文件中新建一个用于展示的布局文件 ↓ 在java文件中新建实体类Student ↓ 在java文件中新建StudentApdater继承BaseAdapter并覆写相关方法(重点:覆写getView方法) ↓ 通过LinkedList插入数据 ↓ 调用自己定义...

递归与树(三)

图的遍历: 深度优先搜索 从任意节点开始, 访问v。 (递归的)访问每一个依附于v的(未访问过的)节点。 如果图是连通的,我们最终可以到达所有的节点。 深度优先搜索递归实现: 要访问图中与节点k相连的所有节点,我们将它标记为访问过的,然后递归的访问k的邻接表中所有未访问过的节点。 void traverse(link k,void (*visit)(int)) {     li...

博客运用Hexo-Next主题美化(上)

​ –此篇文章有转载,转载url放在最后方 1、前言 上篇文章已经在Windows上将个人博客个搭建好了(如果还不知道怎么搭建的,可以戳这里,可是大家有没有发现,搭建的Hexo博客使用的是默认主题,而且不咋好看,跟那些大神们的个人博客相比,还差了很多,不过不要紧,看完这篇文章,你也可以拥有那些炫酷吊炸天的效果。废话少说,那就直接开始吧。 2、设置主题 Hexo给我们提供了很多的主题供我...