Problem Description

Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".

Input

each test case contains two numbers A and B.

Output

for each case, if A is equal to B, you should print "YES", or print "NO".

Sample Input

1 2

2 2

3 3

4 3

Sample Output

NO

YES

YES

NO

正确代码

#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main(){
char a[100000],b[100000];
while(cin>>a>>b){
int Y_a=0,Y_b=0;
for(int i=0;i<strlen(a);i++)
if(a[i]=='.'){
Y_a=1;
break;
}
for(int i=0;i<strlen(b);i++)
if(b[i]=='.'){
Y_b=1;
break;
}
if(Y_a){
for(int i=strlen(a)-1;i>=0;i--){
if(a[i]=='0'){
a[i]=0;
}
else if(a[i]=='.'){
a[i]=0;
break;
}
else break;
}
}
// if(Y_a) {
// cout<<"!!!"<<a<<' '<<a[1]<<endl;
// } if(Y_b){
for(int i=strlen(b)-1;i>=0;i--)
if(b[i]=='0'){
b[i]=0;
}
else if(b[i]=='.'){
b[i]=0;
break;
}
else break;
strcmp(a,b)?puts("NO"):puts("YES");
}
}

题意理解

起初做这道题的时候以为这是一个签到题,直到wrong了五次发现这存在着潜在的问题,既是浮点型如0.111000和数据极大的问题没有解决,因此应该进行判断是否带有小数点并且去掉小数点后多余的0。

错误以及解决方法

当看到这个题的第一眼以为是一个很简单的签到题,所以进行了一下程序的编写



事实上这道题目并没有想象中的那么简单,还有浮点型和越界问题没有解决,当意识到这个问题之后整个题目就显得非常简单明了了,但是还是会犯一些小错误,比如以下代码



导致这个代码wrong的原因是因为没有初始化,往往这种小的错误最不容易令人察觉,使用全局变量的同时应该考虑的是在进行运行循环的时候上一次的赋值会不会导致下一次循环的错误结果。经过对flog的初始化后,成功AC了题目。

#C++初学记录(A==B?##高精度)的更多相关文章

  1. #C++初学记录(高精度运算)(加法)

    高精度运算 不管是int还是double亦或者long long ,这些定义变量都有数据范围的一定限制,在计算位数超过十几位的数,也就是超过他们自身的数据范围时,不能采用现有类型进行计算,只能自己通过 ...

  2. #C++初学记录(sort函数)

    sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...

  3. javaweb初学记录

    原文 链接 http://blog.csdn.net/iojust/article/details/52429805 - ---热情依旧 - 环境搭建: - jdk环境配置 jdk下载: http:/ ...

  4. #C++初学记录(算法4)

    A - Serval and Bus It is raining heavily. But this is the first day for Serval, who just became 3 ye ...

  5. #C++初学记录(动态规划(dynamic programming)例题1 钞票)

    浅入动态规划 dynamic programming is a method for solving a complex problem by breaking it down into a coll ...

  6. Java 初学记录之可执行jar包

    环境 jdk7 jre7 当我用jdk7开发的时候,编写完成可执行的jar工具,并且成功使用. 当我在另一台机器安装了jre6,再次运行我的小工具jar 的时候,报错 解决: http://stack ...

  7. Java 初学记录之一 快速输入

    1. sysout 按回车 System.out.println();

  8. NOP初学记录

    1.  介绍的话不多说了.直接先来简单的安装跟配置先以3.6版本为例: 附带官网地址: http://www.nopcommerce.com   自行下载. 中文网:http://www.nopchi ...

  9. Python初学记录

    发音: 拍怂 语系:类C 特点: 1语句控制不用{}和(),而是强制用户空格或tab缩进.空格和tab数量不一定. 2解释性语言,不需要事先声明变量,即写即用. 3.list 列表可存放多种类型数据. ...

随机推荐

  1. JS 中Json常用操作

    转自: https://www.jianshu.com/p/6501b0f3124f 直接定义json var json = {"name": "小明", &q ...

  2. Java经典逻辑编程50题 (转)

    注: 转自https://blog.csdn.net/Alias_fa/article/details/52985112  (摘了题目部分和部分分析,想看原作代码的见原作链接) [程序1] 題目:古典 ...

  3. excel合并日期和时间(转载)

    https://jingyan.baidu.com/article/d3b74d641669361f77e60914.html =TEXT(A2,"YYYY/M/D")&& ...

  4. 限制mongoDB内存的方法

    docker运行MongoDB,针对于docker容器来进行内存资源的限制 修改MongoDB的运行配置文件,并且重启mongodb storage: dbPath: /var/lib/mongodb ...

  5. WIN8输入法的问题

    在win8下输入法的添加和删除,使用第三方的软件很难处理好,而且容易造成系统的不稳定.比如搜狗输入法有个输入法管理器. 正确的做法: 1.Win+C打开侧边栏,点击 设置,选择“更改电脑设置” 这个选 ...

  6. unity 之 背包系统

    此方法只是用于学习和实验所以细节不必要求 一.Ui设置. 画布配置如下: 布局: 说明: 画布里面首先建立一个panel命名为weapon1,在其内部再建立4个panel用于装备的卡槽,装备以imag ...

  7. 在linux上安装python

    转自:https://www.cnblogs.com/qq631243523/p/10191726.html 一,前言 centos7默认是装有python的,咱们先看一下 [root@glh ~ 2 ...

  8. 《奋斗吧!菜鸟》 第九次作业:Beta冲刺 Scrum meeting 3

    项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11012922.html 团队名称 奋斗吧!菜鸟 作业学习目标 掌 ...

  9. xss获取cookie源码附利用代码

    保存为cookie.asp <% testfile=Server.MapPath("cookies.txt") msg=Request("msg") se ...

  10. vetur 和 npm run lint 格式化不一致

    vetur 的 template(html) 默认使用的格式化插件是 prettyhtml,虽然可以选 prettier,和 npm run lint 的格式化保持一致,但是有时候会影响到 scrip ...