首页 > 分享 > 杭电2054:A == B ?

杭电2054:A == B ?

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

Sample Output

这道题题意简单,判断A和B是否相等,但是A和B不能直接比较,前补0要去掉,小数点后末尾0也要去掉。

#include<stdio.h>

#include<string.h>

#define N 100020

char a[N],b[N];

int main()

{

int i,j,l1,l2,l3,l4,len1,len2;

while(scanf("%s%s",a,b)!=EOF)

{

len1=strlen(a);

len2=strlen(b);

len1--;

len2--;

for(i=0;i<=len1;i++)

if(a[i]!='0')

break;

l1=i;

l2=len1;

for(j=len1;j>=0;j--)

{

if(a[j]=='.')

{

for(i=len1;i>=l1;i--)

{

if(a[i]=='.')

{

i--;

break;

}

if(a[i]!='0')

break;

}

l2=i;

break;

}

}

for(i=0;i<=len2;i++)

{

if(b[i]!='0')

break;

}

l3=i;

l4=len2;

for(j=len2;j>=0;j--)

{

if(b[j]=='.')

{

for(i=len2;i>=l3;i--)

{

if(b[i]=='.')

{

i--;

break;

}

if(b[i]!='0')

break;

}

l4=i;

break;

}

}

int temp=1;

i=l1;j=l3;

for(;i<=l2&&j<=l4;)

{

if(a[i]!=b[j])

{

temp=0;

break;

}

i++;j++;

}

if(i!=l2+1||j!=l4+1)

temp=0;

if(temp==1)

printf("YESn");

else

printf("NOn");

}

return 0;

}


相关知识

进入杭外=保送985?过来人带你了解杭外
B站电商,须过三关
[ACM] HDU 2054 A == B?
杭宠网
2023杭州电竞比赛日程(比赛地点+场馆介绍)
嘉兴杭晨装饰材料有限公司:创意无限,点亮家装梦想
共享经济+无人零售+公共防护=杭洁免费消毒湿巾发放机
动物B超检查
剃宠物电推厂家
【杭宠摄影】杭州宠物摄影团购,机会不容错过

网址: 杭电2054:A == B ? https://m.mcbbbk.com/newsview488730.html

所属分类:萌宠日常
上一篇: 关于null != a 与 a
下一篇: 新浪分期解读:都市白领阶层有哪些