欢迎使用CSDN-markdown编辑器
来源:互联网 发布:宝鸡国企再造新矩阵 编辑:程序博客网 时间:2024/06/08 06:33
PAT题目总结1008-1011
Problem1008:
一个电梯能上下,求从初始0层依次去满足每个Request,所需要花费的总时间。其中上每层6s,下每层4s,并且在每层停5s。 —— [ 题目地址]
解析:
单纯的按题意进行计算,没有任何难度。特殊情况大概是在同一层楼Request多次。
主要代码:
for(i=1;i<=n;i++) { scanf("%d",&now); if(now>ago) sum+=(now-ago)*6; else sum+=(ago-now)*4; ago = now; }
反思与注意点:
注意用两个变量记录本次和前一次的楼层,最后要进行更新。ago和now在搜索迭代时很常用。
Problem1009:
给你两个多项式各项的指数和系数(小数点后一位),求两个多项式相乘的结果。 —— [ 题目地址]
解析:
做法与高精度乘法类似,需要注意结果的最高次数是两个多项式最高次数之和。另外保留一位小数是个大坑!通常默认是四舍五入,但是在计算机域宽控制进行输出%n.mf 时,是四舍六入的。此时%.1f就有可能出错。
关键代码:
//多项式计算过程:for(i=0;i<=MAXN;i++) for(j=0;j<=MAXN;j++) ans[i+j]=ans[i+j]+eq1[i]*eq2[j];
//对于浮点数的非零判断:if(abs(ans[i])>=1e-6) //小于10的-6次方 认为是零
//对于浮点数的非零判断:if(abs(ans[i])>=1e-6) //小于10的-6次方 认为是零
//判断小数点后第二位是不是5,进行四舍五入 sum = outc[i]; tmp = (sum*1000) / 10; tmp = tmp % 10; if(tmp == 5); sum = sum +0.01;
反思与注意点:
- 数组的大小一定要注意啊,开MAXN+1
- 浮点数的非零判断。
- 四舍五入。
- 另外需要注意int和float在进行运算时,如果只想最后一步进行(int)转换,中间过程都用float进行,尤其是常量,如2->2.0。
Problem1010:
题目大意
>
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 数据库悲观锁和乐观锁简述
- 传输层安全协议抓包分析之SSL/TLS
- Listview 随手记
- 2017年-Intel BIOS 工程师面试
- caffe,运行fast-rcnn出现Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: ROIPooling
- 欢迎使用CSDN-markdown编辑器
- 419. Battleships in a Board
- django admin 导出excel,csv
- Zookeeper简介
- 解决Ubuntu Chrome Adobe过期的问题
- Qt中的sizeHint,minimumSizeHint,sizePolicy属性
- spark几万个分区表无法执行
- C++ 数据结构链表的实现代码
- Luogu P2799 国王的魔镜