A == B ?

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 84572    Accepted Submission(s): 13315

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

第一次看别人的代码AC的,这次自己用C++string类函数AC的,此题虽然不考虑正负号,但是代码显然还是有正负号的缺陷,加入正负号感觉更加麻烦,而且对结果会有副作用,因此先不考虑正负号了。

代码:

#include<iostream>
#include<string>
using namespace std;
string qianzero(string a)//前导0检查
{
if(a.find_first_not_of('0')!=string::npos)
{
a.erase(0,a.find_first_not_of('0'));//去除前导0,并且连小数点一并去除了(小数点也属于非零)
}
return a;
}
string houzero(string a)//后导0检查
{
int l=-1,i;
if(a.find('.')!=string::npos)//若有小数点则继续判断
{
for(i=a.size()-1;i>=0;i--)
{
if(i==a.find('.'))//若非零数字超过了小数点,则只能截取到【小数点~最后一位】为止
{
l=i-1;
break;
}
if(a[i]!='0'&&a[i]!='.')//否则截取到【非零数字~最后】一位
{
l=i;
break;
}
}
if(l==-1)//若根本找不到小数点,则直接返回(即不可以动后面的0)
{
return a;
}
a.erase(l+1,a.size()-1);//去掉后面的0
}
return a;
}
string point(string a)//检查并将实际为0的各种类型归一为“0”
{
int i;
for (i=0; i<a.size(); i++)
{
if(a[i]!='0'&&a[i]!='.')//若发现某个字符不是0且不是小数点,则此数一定不等于0,返回
return a;
}
return a="0";//否则干脆变成“0”
}
int main(void)
{
string a,b;
while(cin>>a>>b)
{
a=qianzero(a);
b=qianzero(b);
a=houzero(a);
b=houzero(b);
a=point(a);
b=point(b);
//cout<<a<<' '<<b<<'\n'<<endl;
if(a==b)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}

HDU——2054A==B?的更多相关文章

  1. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  3. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  4. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  5. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

  6. HDU 1796How many integers can you find(容斥原理)

    How many integers can you find Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

  7. hdu 4481 Time travel(高斯求期望)(转)

    (转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...

  8. HDU 3791二叉搜索树解题(解题报告)

    1.题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3791 2.参考解题 http://blog.csdn.net/u013447865/articl ...

  9. hdu 4329

    problem:http://acm.hdu.edu.cn/showproblem.php?pid=4329 题意:模拟  a.     p(r)=   R'/i   rel(r)=(1||0)  R ...

随机推荐

  1. SAP成都研究院DevOps那些事

    今天的文章来自我的同事平静静,SAP成都研究院一位程序媛.平静静2010年加入SAP,熟悉她的人一般都叫她平静.在她待过的每个小组,平静静都不是最引人瞩目的开发人员,然而她总是能一如既往,保质保量地完 ...

  2. 用NPOI操作EXCEL-锁定列CreateFreezePane()

    public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkboo ...

  3. UVA 11732 strcmp() Anyone (Trie+链表)

    先两两比较,比较次数是两者相同的最长前缀长度*2+1,比较特殊的情况是两者完全相同时候比较次数是单词长度*2+2, 两个单词'末尾\0'和'\0'比较一次,s尾部'\0'和循环内'\0'比较一次. 因 ...

  4. Spark Job调优(Part 2)

    原文链接:https://wongxingjun.github.io/2016/05/11/Spark-Job%E8%B0%83%E4%BC%98-Part-2/ 这篇文章将会完成Part 1中留下的 ...

  5. momentum公式

    momentum对于w的更新公式: http://caffe.berkeleyvision.org/tutorial/solver.html

  6. ovx openVirtex安装

    搞了好久的pox实验,中途一个星期没更新了吧, 今天继续... 新手第一次搞还是在虚拟机上最安全~ ovx参照上面的做吧,注意必须在联网的情况下,否则很多控件都连不上(第一次做的时候虚拟机没配ip 坑 ...

  7. sessionStorage对象

    sessStorage对象是一个会话形式的数据存储,当用户关闭浏览器的窗口后,数据就会被删除. 实例: <!DOCTYPE html><html><head> &l ...

  8. linux之切换用户su(switch user)

    1.切换至root su 或 su root然后输入密码 这种只切换身份,不切换home工作目录 su - 或 su - root然后输入密码 这种不仅切换身份,而且切换home工作目录 2.切换至普 ...

  9. Java中如果把构造方法也私有化,如何创建对象?Java的单例设计模式——饿汉式和懒汉式区别

    Java的单例模式——饿汉式 package com.swift; //Java单例设计模式——恶汉式 public class SinglePerson { private String name= ...

  10. CF-1140 E - Palindrome-less Arrays

    题意:给定一个没有填完的序列,数值为-1表示你可以用 1~k 中的数字去覆盖它,求将该序列填充后,不存在长度为奇数的回文串的方案数 分析: 使之不存在长度为奇数的回文串,只需要满足不存在长度为3的回文 ...