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. select2的用法

    <link href="../css/select2.min.css" rel="stylesheet" /> <script src=&qu ...

  2. java框架注意

    struts2 数据类型不匹配时会return "input" <result name="input">/WEB-INF/index.jsp< ...

  3. python爬虫——与不断变化的页面死磕和更新换代(3)

    经过上一次的实战,手感有了,普罗西(雾)池也有了,再战taobao/tmall 试着使用phantomJS爬手机端,结果发现爬来的tmall页面全是乱码,taobao页面xpath识别错误.一顿分析了 ...

  4. NVIDIA 驱动安装(超详细)

    目录 1. 删除原有驱动 2. 安装依赖 3. 禁用nouveau驱动: 4. reboot 5. 获取kernel source (important) 6. 关掉x graphic 服务 7. 安 ...

  5. 个人爱好:idea 项目结构呈现风格

  6. 【Python】【装饰器】

    Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数. def sa ...

  7. CSP中的选择

    P ∩ Q (P or Q) 由机器做出选择,环境无法控制,设计软件时只实现一个即可 P[]Q一般选择(Genral choice) 环境可以控制选择P或Q,若P不可接受这个动作,则执行Q,若Q不可接 ...

  8. pytest文档13-allure2生成html报告(史上最详细)

    前言 allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面. 环境准备 1. ...

  9. (20)gevent协程

    协程: 也叫纤程,协程是线程的一种实现,指的是一条线程能够在多任务之间来回切换的一 种实现,对于CPU.操作系统来说,协程并不存在 任务之间的切换会花费时间.目前电脑配置一般线程开到200会阻塞卡顿 ...

  10. 利用iframe实现无刷新提交

    服务器里边: