nyoj_524_A-B Problem_201312012035
2024-08-25 15:19:26
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类似,这题的测试数据更严格
最新文章
- 解决PHP-问题:Class &#39;SimpleXMLElement&#39; not found in
- 数据库实战案例—————记一次TempDB暴增的问题排查
- 用户故事驱动的敏捷开发 – 2. 创建backlog
- 黑马程序员——C语言基础 指针
- HOLOTOOLKIT的使用
- 利用Visual GDB在Visual Studio中进行Android开发
- IOS7 ~ Xcode5 制作 framework
- java并发编程-读写锁
- iOS开发工程师面试知识点汇总
- qt+2012+qtcreator 配置
- URL学习笔记
- Nginx 在安装入门
- Google Play Services Library update and missing symbol @integer/google_play_services_version
- 基于visual Studio2013解决算法导论之044最短路径
- Hbase结构简单、作法
- sqlserver检测数据库是否能连接的小技巧
- [置顶] 如何使用c3p0+spring连接oracle数据库
- 网络tcp/ip资料
- Cracking the Coding Interview(Trees and Graphs)
- P3414 SAC#1 - 组合数
热门文章
- Python基础数据类型(四) tuple元祖
- 【题解】动态逆序对 [CQOI2011] [P3157] [BZOJ3295] [P1393]
- JavaScript--确认(confirm 消息对话框)
- 【CodeForces727E/CF727E】Games on a CD (字符串哈希)
- [转]python模块全面
- php用户注册常用检测、写入
- [入门指南]-技术学习-Ebean
- HDU_1158_Employment Planning_dp
- UICollectionView(一)基本概念
- 微信小程序获取二维码并把logo替换为自己的头像