PAT L2-018. 多项式A除以B
暴力,模拟。
比赛搞了一个小时搞到了$1$分。赛场上不够冷静......之前没接触过多项式除法,但赛场上想到了除法的规则,莫名其妙写的时候不知道哪里崩了。对于这样的题目,应该先测一测数据的指数是不是很大,指数不大开数组存就可以了。
#include<bits/stdc++.h>
using namespace std; double eps=1e-;
double a[],b[],c[];
int n; int main()
{
memset(a,,sizeof a);
memset(b,,sizeof b); scanf("%d",&n);
for(int i=;i<=n;i++)
{
int e; double x; scanf("%d%lf",&e,&x);
a[e]=x;
} scanf("%d",&n);
for(int i=;i<=n;i++)
{
int e; double x; scanf("%d%lf",&e,&x);
b[e]=x;
} int limit;
for(int i=;i>=;i--)
{
if(b[i]>)
{
limit=i;
break;
}
} while()
{
int g=-;
for(int i=;i>=;i--)
{
if(a[i]!=)
{
g=i;
break;
}
} if(g<limit) break; c[g-limit] = a[g]/b[limit]; for(int i=;i<=;i++)
{
if(g-limit+i<=)
a[g-limit+i]-=c[g-limit]*b[i];
} for(int i=;i<=;i++)
{
if(abs(a[i])<eps) a[i]=;
if(abs(b[i])<eps) b[i]=;
if(abs(c[i])<eps) c[i]=;
}
} int num1=,num2=;
for(int i=;i>=;i--)
{
if(c[i]==) continue;
num1++;
} if(num1==) printf("0 0 0.0\n");
else
{
printf("%d ",num1);
for(int i=;i>=;i--)
{
if(c[i]==) continue;
printf("%d %.1f",i,c[i]);
num1--;
if(num1==) printf("\n");
else printf(" ");
}
} for(int i=;i>=;i--)
{
if(a[i]==) continue;
num2++;
} if(num2==) printf("0 0 0.0\n");
else
{
printf("%d ",num2);
for(int i=;i>=;i--)
{
if(a[i]==) continue;
printf("%d %.1f",i,a[i]);
num2--;
if(num2==) printf("\n");
else printf(" ");
}
} return ;
}
PAT L2-018. 多项式A除以B的更多相关文章
- 多项式A除以B
这个问题我是在PAT大区赛题里遇见的.题目如下: 多项式A除以B(25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数 ...
- L2-018. 多项式A除以B*
L2-018. 多项式A除以B 参考博客 #include <iostream> #include <map> #include <cmath> #include ...
- 7-10 多项式A除以B (25分)(多项式除法)
7-10 多项式A除以B (25分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出 ...
- PAT l2-018 多项式A除以多项式B 【多项式+模拟】
这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A,再给出B.每行的 ...
- (转载) 天梯赛 L2-018. 多项式A除以B
题目链接 题目描述 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出 ...
- 团体程序设计天梯赛 L2-018. 多项式A除以B(模拟)
题意:给你A,B两个多项式,问你A/B的值:注意多项式给你的是每个式子的指数与系数:保留到一位小数,如果出现系数为0(保留后也是)的情况,请不要输出它,如果没有非系数为0的情况就输出特殊 题解:多项式 ...
- L2-018 多项式A除以B(模拟)
这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A,再给出B.每行的 ...
- 7-10 多项式A除以B (25 分)
题目链接:https://pintia.cn/problem-sets/1108548596745592832/problems/1108548661014913033 题目大意: 这仍然是一道关于A ...
- pta l2-18(多项式A除以B)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805060372905984 题意:给定两个多项式,求出其做除法 ...
随机推荐
- 介绍 JSON (转)
本文转自:http://www.json.org/json-zh.html JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于 ...
- oracle的小语句
select * from v$nls_parameters; 查询数据库中现在的常量 alter session set NLS_DATE_FORMAT='yyyy-mm-dd'; 更改日期显示方式
- Codeforces 148 D Bag of mice
D. Bag of mice http://codeforces.com/problemset/problem/148/D time limit per test 2 seconds memory l ...
- Codeforces 797 F Mice and Holes
http://codeforces.com/problemset/problem/797/F F. Mice and Holes time limit per test 1.5 ...
- webapi + windows计划 + mshta 实现定时执行任务
当然,实现定时任务有更好的操作方式,比如方式一:asp.net mvc+quartz.net +corn +webapi,asp.net mvc做任务管理的平台,使用CronTrigger做定时触发, ...
- 原生js写的一个简单slider
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 下拉刷新和UITableView的section headerView冲突的原因分析与解决方案
UITableView:下拉刷新和上拉加载更多 [转载请注明出处] 本文将说明具有多个section的UITableView在使用下拉刷新机制时会遇到的问题及其解决方案. 工程地址在帖子最下方,只需要 ...
- CSS Sprite笔记
1. 什么是CSS Sprite 将一些碎小的图片拼接为一张大点的图片来使用,目的是为了减少浏览器的http请求次数以提高网页的加载速度.每次请求图片都需要跟服务器建立一次连接,并且浏览器的最大并发请 ...
- C++类型转换 -- 由其他类型转换到自定义类型
由其他类型转换到自定义类型 由其他类型(如int,double)向自定义类的转换是由构造函数来实现,只有当类的定义和实现中提供了合适的构造函数,转换才能通过. /******************* ...
- 一个TCP报文段的数据部分最多为多少个字节,为什么
IP数据报的最大长度=2^16-1=65535(字节)TCP报文段的数据部分=IP数据报的最大长度-IP数据报的首部-TCP报文段的首部=65535-20-20=65495(字节) 一个tcp报文段的 ...