【PAT甲级】1060 Are They Equal (25 分)(需注意细节的模拟)
题意:
输入一个正整数N(<=100),接着输入两个浮点数(可能包含前导零,对于PAT已经习惯以string输入了,这点未知),在保留N位有效数字的同时判断两个数是否相等,并以科学计数法输出。
trick:
测试点3含有有效数字在小数点以后的数据,此时指数应该是小数点位置减有效数字位置再加上1。
AAAAAccepted code:
#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
string a,b;
int ans_a[],ans_b[];
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
cin>>a>>b;
int cnt=;
int posa=a.size();
int posb=b.size();
int staa=a.size();
int stab=b.size();
for(int i=;i<a.size();++i)if(a[i]=='.'){
posa=i;
break;
}
for(int i=;i<b.size();++i)if(b[i]=='.'){
posb=i;
break;
}
for(int i=;i<a.size();++i)if(a[i]!=''&&a[i]!='.'){
staa=i;
break;
}
for(int i=;i<b.size();++i)if(b[i]!=''&&b[i]!='.'){
stab=i;
break;
}
for(int i=staa;i<a.size();++i){
if(a[i]=='.')
continue;
if(cnt<n)
ans_a[++cnt]=a[i]-'';
}
for(int i=cnt+;i<=n;++i)
ans_a[i]=;
int tot=;
for(int i=stab;i<b.size();++i){
if(b[i]=='.')
continue;
if(tot<n)
ans_b[++tot]=b[i]-'';
}
for(int i=tot+;i<=n;++i)
ans_b[i]=;
int flag=;
for(int i=;i<=n;++i)if(ans_a[i]!=ans_b[i])
flag=;
if(!flag&&posa-staa==posb-stab||staa==a.size()&&stab==b.size())
cout<<"YES ";
else
cout<<"NO ";
cout<<"0.";
for(int i=;i<=n;++i)
cout<<ans_a[i];
int ans=;
if(posa-staa<)
ans=posa-staa+;
else
ans=posa-staa;
if(staa==a.size())
ans=;
cout<<"*10^"<<ans;
if((flag||posa-staa!=posb-stab)&&(staa!=a.size()||stab!=b.size())){
cout<<" 0.";
for(int i=;i<=n;++i)
cout<<ans_b[i];
int anss=;
if(posa-staa<)
anss=posb-stab+;
else
anss=posb-stab;
if(stab==b.size())
anss=;
cout<<"*10^"<<anss;
}
return ;
}
【PAT甲级】1060 Are They Equal (25 分)(需注意细节的模拟)的更多相关文章
- PAT 甲级 1060 Are They Equal (25 分)(科学计数法,接连做了2天,考虑要全面,坑点多,真麻烦)
1060 Are They Equal (25 分) If a machine can save only 3 significant digits, the float numbers 1230 ...
- 1060 Are They Equal (25 分)
1060 Are They Equal (25 分) If a machine can save only 3 significant digits, the float numbers 1230 ...
- 1060 Are They Equal (25分)
1060 Are They Equal (25分) 题目 思路 定义结构体 struct fraction{ string f; int index; } 把输入的两个数先都转换为科学计数法,统一标准 ...
- 【PAT】1060 Are They Equal (25)(25 分)
1060 Are They Equal (25)(25 分) If a machine can save only 3 significant digits, the float numbers 12 ...
- PAT 甲级 1060 Are They Equal
1060. Are They Equal (25) 时间限制 50 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue If a ma ...
- PAT 甲级 1040 Longest Symmetric String (25 分)(字符串最长对称字串,遍历)
1040 Longest Symmetric String (25 分) Given a string, you are supposed to output the length of the ...
- PAT 甲级 1083 List Grades (25 分)
1083 List Grades (25 分) Given a list of N student records with name, ID and grade. You are supposed ...
- PAT甲级——1130 Infix Expression (25 分)
1130 Infix Expression (25 分)(找规律.中序遍历) 我是先在CSDN上面发表的这篇文章https://blog.csdn.net/weixin_44385565/articl ...
- PAT 甲级 1074 Reversing Linked List (25 分)(链表部分逆置,结合使用双端队列和栈,其实使用vector更简单呐)
1074 Reversing Linked List (25 分) Given a constant K and a singly linked list L, you are supposed ...
- PAT 甲级 1086 Tree Traversals Again (25分)(先序中序链表建树,求后序)***重点复习
1086 Tree Traversals Again (25分) An inorder binary tree traversal can be implemented in a non-recu ...
随机推荐
- Flask 教程 第二十一章:用户通知
本文翻译自The Flask Mega-Tutorial Part XXI: User Notifications 这是Flask Mega-Tutorial系列的第二十一章,我将添加一个私有消息功能 ...
- 简单实现一个button控制两种状态
<button class="btn a-bgcolor" data-toggle="tooltip" data-placement="left ...
- (搬运)使用PHPstudy在Windows服务器下部署PHP系统
原帖地址:http://www.php.cn/php-weizijiaocheng-406175.html 这篇文章主要介绍了关于使用PHPstudy在Windows服务器下部署PHP系统,有着一定的 ...
- Appium-测试失败后获取屏幕截图的方法
最近一直在研究appium,偶尔的机会发现断言后获取屏幕截图.觉得这个方法不错,分享给大家 这样以后在遇到断言,想截图错误屏幕的时候,能够用的上. 1.首先需要2个类,一个是测试类(TestDropL ...
- 专题-集合-ConcurrentHashMap
本文介绍ConcurrentHashMap是线程安全的,但为什么却不用加锁的原因 一.ConcurrentHashMap简介 在jdk1.7中是采用Segment + HashEntry + Reen ...
- oracle 11g快捷版的安装与使用
oracle 11g快捷版的安装与使用 [oracle 11g 下载地址(]https://www.oracle.com/technetwork/cn/database/enterprise-edit ...
- layui数据表格固定头部和第一列、colspan合并列
刚看到原型图的时候,纳尼?不是跟我开玩笑吧,小女子资历尚浅,还真没做过像这样的功能,然后就是各种找度娘,可是都没有找到合适的,很多都是行合并,真的是头疼呀!再纠结是用VUE实现还是用layui实现好, ...
- springboot 注解@EnableConfigurationProperties @ConfigurationProperties作用
@EnableConfigurationProperties 在springboot启动类添加,当springboot程序启动时会立即加载@EnableConfigurationProperties注 ...
- Mybatis 结果集映射
结果映射(resultMap) constructor - 用于在实例化类时,注入结果到构造方法中(一般不用) idArg - ID 参数:标记出作为 ID 的结果可以帮助提高整体性能 arg - 将 ...
- python3 利用VideoCapture模块读取多个相机名称
模块pip安装地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#videocapture