A-B Problem nyoj
A-B Problem
- 描述
-
A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧。
现在有两个实数A和B,聪明的你,能不能判断出A-B的值是否等于0呢?
- 输入
- 有多组测试数据。每组数据包括两行,分别代表A和B。
它们的位数小于100,且每个数字前中可能包含+,- 号。
每个数字前面和后面都可能有多余的0。
每组测试数据后有一空行。 - 输出
- 对于每组数据,输出一行。
如果A-B=0,输出YES,否则输出NO。 - 样例输入
-
1 1 1.0 2.0
- 样例输出
-
YES NO
#include <iostream>
#include <cstdlib>
using namespace std;int delete_Start_Zero(const string s,const int i)//去除前置0
{
int index=i;
while(index<s.length()&&s[index]=='0')
++index;
if(index==s.length()||s[index]=='.')//保留小数点前面的一个0
--index;
return index;
}int delete_End_Zero(const string s,const int i)//去除后置0
{
int j=i-1;
for(;j>=0;--j)
if(s[j]!='0')
break;
if(s[j]=='.')//保留小数点后的一个0
return j+1;
else
return j;
}bool substraction(const string s1,const string s2)
{
int start_1=delete_Start_Zero(s1,1);//s1有效数字的起始位置
int end_1=delete_End_Zero(s1,s1.length());//s1有效数字的结束位置
int start_2=delete_Start_Zero(s2,1);//s2有效数字的起始位置
int end_2=delete_End_Zero(s2,s2.length());//s2有效数字的结束位置if((s1[0]=='+'&&s2[0]=='-')||(s1[0]=='-'&&s2[0]=='+'))//符号相反只有都是0结果才可能为0
if(s1.substr(1,3)=="0.0"&&s2.substr(1,3)=="0.0")
return true;
else
return false;
else if((s1[0]=='+'&&s2[0]=='+')||(s1[0]=='-'&&s2[0]=='-'))//符号相同数字一样才为0
if(s1.substr(start_1,end_1-start_1+1)==s2.substr(start_2,end_2-start_2+1))
return true;
else
return false;
}int main()
{
string s1,s2;
while(cin>>s1>>s2)
{
if(isdigit(s1[0]))//如果第一位没有符号且是数字,则为正数
s1="+"+s1;
if(isdigit(s2[0]))
s2="+"+s2;
if(s1.find('.')==-1)//把正数也当做小数来处理,
s1.append(".0");
if(s2.find('.')==-1)
s2.append(".0");
if(substraction(s1,s2))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
A-B Problem nyoj的更多相关文章
- Prime Ring Problem + nyoj 素数环 + Oil Deposits + Red and Black
Prime Ring Problem Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) ...
- nyoj 473 A^B Problem
A^B Problem 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Give you two numbers a and b,how to know the a^ ...
- nyoj 623 A*B Problem II(矩阵)
A*B Problem II 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 ACM的C++同学有好多作业要做,最头痛莫过于线性代数了,因为每次做到矩阵相乘的时候,大 ...
- NYOJ:题目524 A-B Problem
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 My思路: 先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多 ...
- nyoj 103 A + B problem II
点击打开链接 A+B Problem II 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 I have a very simple problem for you. G ...
- NYoj The partial sum problem(简单深搜+优化)
题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=927 代码: #include <stdio.h> #include & ...
- nyoj A+B Problem IV
A+B Problem IV 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这 ...
- 【志银】NYOJ《题目524》A-B Problem
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 My思路: 先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多 ...
- NYOJ 219 An problem about date
An problem about date 时间限制:2000 ms | 内存限制:65535 KB 难度:2 描述 acm的iphxer经常忘记某天是星期几,但是他记那天的具体日期,他希望你 ...
随机推荐
- SQL 处理排序空值
①oracle默认排序空值在后面 如果想要排序空值在前面可用关键字 NULLS FIRST, 排序空值在后面也有关键字NULLS LAST ②sqlserver默认排序空值在前面 如果想要排序时空值在 ...
- MyEclipse优化,解决MyEclipse运行慢、卡顿问题
工具: myeclipse2015 2.0 最近想用myeclipse做一下测试,发现myeclipse运行非常卡,直接影响代码的开发,而且还出现软件卡退的情况,让我十分恼火. 一.加大JVM的非 ...
- spring AOP的两种代理
本篇记录下spring AOP的两种代理,为下一篇AOP实现做下铺垫. 1.JDK动态代理 2.cglib代理 1.如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2.如果目标对象 ...
- springcloud12---sidecar
Sidecar:异构平台整合.做了一个桥 package com.itmuch.cloud; import org.springframework.boot.SpringApplication; im ...
- 在使用swiper时,解决同一个页面使用多个轮播出现问题做法
$(".swiper-container").each(function(){ $(this).swiper({ loop: true, initialSlide :0, pagi ...
- 20145221 《Java程序设计》实验报告五:网络编程及安全
20145221 <Java程序设计>实验报告五:网络编程及安全 实验要求 掌握Socket程序的编写 运行TCP代码包,结对进行,一人服务器,一人客户端 掌握密码技术的使用 利用加解密代 ...
- linux内核启动时报错ubi0 error: validate_ec_hdr: bad VID header offset 256, expected 64
1.详细错误报告如下: ubi0 error: validate_ec_hdr: bad VID header offset 256, expected 64 ubi0 error: validate ...
- Nginx负载均衡之健康检查
负载均衡实例 http{ upstream myserver { server 10.10.10.1 weight=3 max_fails=3 fail_timeout=20s; server 10. ...
- 操作数据库的时候,使用自带的DbProviderFactory类 (涉及抽象工厂和工厂方法)
微软自带的DbProviderFactory https://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactory ...
- JAVA基础之复识一
JAVA不单是一门计算机编程语言,而且还是一种基于WEB的全方位软件开发技术, java特定运行平台及关键特点 java开发工具包的安装,配置与应用 java语言的基本概念 java面向对象编程 ja ...