L2-018. 多项式A除以B

参考博客

 #include <iostream>
#include <map>
#include <cmath>
#include <cstdio>
using namespace std;//系数要求保留一位小数,所以绝对值小于0.05都当成0对待
struct poly
{
int e;
double c;
}p[],ans[];
int main()
{
int n = ,e = ,c = ,m = -,ant = ;//m记录a中最高次 e是指数 c是系数 输入都是整数
map<int,double> q;
cin>>n;
for(int i = ;i < n;i ++)
{
cin>>e>>c;
q[e] = c;
if(i == )m = e;
}
cin>>n;
for(int i = ;i < n;i ++)
{
cin>>p[i].e>>p[i].c;
}
while(m >= p[].e)
{
double change = q[m]/p[].c;//分析中所述的 a中最高次除以b中最高次 系数比
int diff = m - p[].e;//指数比
if(fabs(change) >= 0.05)
{
ans[ant].e = diff;
ans[ant ++].c = change;
for(int i = ;i < n;i ++)//change 乘以 b 更新a中的变化
{
q[p[i].e + diff] -= change * p[i].c;
}
}
else m --;//一定别忘了m-- 不然会超时,太过于马虎 if else语句还是想清楚 写完备一些好光有if没else就容易错误啊。。
while(m >= p[].e && fabs(q[m]) < 0.05)
{
m --;
}
}
cout<<ant;
if(!ant)cout<<" 0 0.0";
for(int i = ;i < ant;i ++)
printf(" %d %.1f",ans[i].e,ans[i].c);
cout<<endl;
ant = ;
while(m >= )
{
if(fabs(q[m]) >= 0.05)
{
ans[ant].e = m;
ans[ant ++].c = q[m];
}
m --;
}
cout<<ant;
if(!ant)cout<<" 0 0.0";
for(int i = ;i < ant;i ++)
printf(" %d %.1f",ans[i].e,ans[i].c);
}

L2-018. 多项式A除以B*的更多相关文章

  1. 多项式A除以B

    这个问题我是在PAT大区赛题里遇见的.题目如下: 多项式A除以B(25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数 ...

  2. 7-10 多项式A除以B (25分)(多项式除法)

    7-10 多项式A除以B (25分)   这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出 ...

  3. (转载) 天梯赛 L2-018. 多项式A除以B

    题目链接 题目描述 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出 ...

  4. 团体程序设计天梯赛 L2-018. 多项式A除以B(模拟)

    题意:给你A,B两个多项式,问你A/B的值:注意多项式给你的是每个式子的指数与系数:保留到一位小数,如果出现系数为0(保留后也是)的情况,请不要输出它,如果没有非系数为0的情况就输出特殊 题解:多项式 ...

  5. L2-018 多项式A除以B(模拟)

    这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A,再给出B.每行的 ...

  6. 7-10 多项式A除以B (25 分)

    题目链接:https://pintia.cn/problem-sets/1108548596745592832/problems/1108548661014913033 题目大意: 这仍然是一道关于A ...

  7. pta l2-18(多项式A除以B)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805060372905984 题意:给定两个多项式,求出其做除法 ...

  8. CCCC L2-018. 多项式A除以B 直接上map,然后stack处理输出

    https://www.patest.cn/contests/gplt/L2-018 题意:模拟多项式除法. 题解:短除法,初中奥数老师,高中数学老师,高数老师都讲过2333. 模拟之前,关于保存 多 ...

  9. PAT L2-018. 多项式A除以B

    暴力,模拟. 比赛搞了一个小时搞到了$1$分.赛场上不够冷静......之前没接触过多项式除法,但赛场上想到了除法的规则,莫名其妙写的时候不知道哪里崩了.对于这样的题目,应该先测一测数据的指数是不是很 ...

随机推荐

  1. js 比大小

    html部分 <input type="button" onclick="mymax(5,4,12)" value="按钮"/> ...

  2. 复习-css常用伪类别属性

    css常用伪类别属性 对<a>标签可制动态效果的css a:link:超链接的普通样式 a:visited:被点击过的超链接样式 a:hover:鼠标指针经过超链接上时的样式 a:acti ...

  3. 基于框架的RPC通信技术原理解析

    RPC的由来 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时, ...

  4. C语言实例:函数指针

    函数指针:函数指针数组的使用: 不带参数和返回值的函数指针: #include <stdio.h> #include <stdlib.h> //定义一个没有返回值也没有入口参数 ...

  5. Html 标签初知

    Html 标签初知 什么是Html 标签 超文本标记语言(外国语简称:HTML)标记标签通常被称为HTML标签,HTML标签是HTML语言中最基本的单位,HTML标签是HTML(标准通用标记语言下的一 ...

  6. Java(1)JDK安装

    1.安装JDK开发环境 下载网站:http://www.oracle.com/ 开始安装JDK: 修改安装目录如下: 确定之后,单击"下一步". 注:当提示安装JRE时,可以选择不 ...

  7. vue实现简单的购物车功能

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  8. 《深入理解Nginx:模块开发与架构解析》读书笔记

    1.nginx的特点:快.扩展性强.可靠性强.内存低消耗.支持高并发.热部署.开源免费 2.nginx由master进程来管理多个(CPU数)worker进程 3.配置按功能分,有4类: 1)用于调试 ...

  9. word->excel数据处理

    朋友发来一个word文件,里面的数据没有分割,想分割后放到excel统计 通常遇到这种数据,首先想到每一列数据有没有什么特征 类似这种数据,一种办法是按位数截取,mid函数,或者按第一次出现数字的方式 ...

  10. maven 项目编译失败

    tomcat 加载项目启动后 提示  找不到web-context配置 或者某一个类加载错误 发生在 从根目录新导入新的 未打开项目之后 install 失败  java 文件未编译成 class 解 ...