A-B Problem

时间限制:1000 ms  |           内存限制:65535 KB
难度:3
 
描述

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
来源
hdu改编
 #include <stdio.h>
#include <string.h>
#define MAX 100000 char str1[MAX+],str2[MAX+];
int a1[MAX+],a2[MAX+],b1[MAX+],b2[MAX+]; int bijiao(char *str1,char *str2)
{
int len1,len2;
int i,j,k,t;
for(i=;i<MAX+;i++)
a1[i]=a2[i]=b1[i]=b2[i]=;
len1=strlen(str1);
for(i=;i<len1;i++)
if(str1[i]=='.')
{t=i;break;}
if(i>=len1)
t=len1;
for(j=,i=t-;i>=;i--)
a1[j++]=str1[i]-'';
for(j=,i=t+;i<len1;i++)
a2[j++]=str1[i]-'';
len2=strlen(str2);
for(i=;i<len2;i++)
if(str2[i]=='.')
{t=i;break;}
if(i>=len2)
t=len2;
for(j=,i=t-;i>=;i--)
b1[j++]=str2[i]-'';
for(j=,i=t+;i<len2;i++)
b2[j++]=str2[i]-'';
if(len1==&&len2==)
return ;
for(i=;i<MAX;i++)
{
if(a1[i]!=||a2[i]!=||b1[i]!=||b2[i]!=)
break;
}
if(i>=MAX)
return ;
for(i=;i<MAX;i++)
{
if(a1[i]!=b1[i])
{
k=;
break;
}
}
if(i>=MAX)
{
for(i=;i<MAX;i++)
{
if(a2[i]!=b2[i])
{
k=;
break;
}
}
if(i>=MAX)
k=;
}
return k;
//puts(str1);
//puts(str2);
}
int main()
{
while(scanf("%s%s",str1,str2)!=EOF)
{
int t=,k;
//gets(str2);
//getchar();
if((str1[]>=''&&str1[]<='')&&(str2[]>=''&&str2[]<=''))
k=bijiao(str1,str2);
else if((str1[]>=''&&str1[]<='')&&(str2[]=='+'))
k=bijiao(str1,str2+);
else if((str2[]>=''&&str2[]<='')&&(str1[]=='+'))
k=bijiao(str1+,str2);
else if(str1[]==str2[])
k=bijiao(str1+,str2+);
else if(str1[]=='.'||str2[]=='.')
k=bijiao(str1,str2);
else
{
t=bijiao(str1+,str2+);
if(t==)
k=;
else
k=;
}
if(k)
printf("YES\n");
else
printf("NO\n");
}
return ;
}
//没考虑 (.1和 0.1)这组数据

/* 测试数据

0 -0

0 +0

123.123 +00123.12300

100.00 100

.1 0.1

000.000 0

123456789123456789

123456789123456789

1 1

000001000. 1000

+0 -000.000

.0 0

.0 0.

结果全是YES

这些测试数据如果过了基本差不多可以AC了 这都是WA出来的。。。。 */

和hdu2054类似,这题的测试数据更严格

最新文章

  1. 解决PHP-问题:Class &#39;SimpleXMLElement&#39; not found in
  2. 数据库实战案例—————记一次TempDB暴增的问题排查
  3. 用户故事驱动的敏捷开发 – 2. 创建backlog
  4. 黑马程序员——C语言基础 指针
  5. HOLOTOOLKIT的使用
  6. 利用Visual GDB在Visual Studio中进行Android开发
  7. IOS7 ~ Xcode5 制作 framework
  8. java并发编程-读写锁
  9. iOS开发工程师面试知识点汇总
  10. qt+2012+qtcreator 配置
  11. URL学习笔记
  12. Nginx 在安装入门
  13. Google Play Services Library update and missing symbol @integer/google_play_services_version
  14. 基于visual Studio2013解决算法导论之044最短路径
  15. Hbase结构简单、作法
  16. sqlserver检测数据库是否能连接的小技巧
  17. [置顶] 如何使用c3p0+spring连接oracle数据库
  18. 网络tcp/ip资料
  19. Cracking the Coding Interview(Trees and Graphs)
  20. P3414 SAC#1 - 组合数

热门文章

  1. Python基础数据类型(四) tuple元祖
  2. 【题解】动态逆序对 [CQOI2011] [P3157] [BZOJ3295] [P1393]
  3. JavaScript--确认(confirm 消息对话框)
  4. 【CodeForces727E/CF727E】Games on a CD (字符串哈希)
  5. [转]python模块全面
  6. php用户注册常用检测、写入
  7. [入门指南]-技术学习-Ebean
  8. HDU_1158_Employment Planning_dp
  9. UICollectionView(一)基本概念
  10. 微信小程序获取二维码并把logo替换为自己的头像