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
题意:
根据大标题就可以知道这个题是判断A是否等于B?
思路:
用字符串处理,判断是否有小数点,并且小数点后面是否有无用的0,处理这些小数点后无用的0,然后在比较A和B,上代码!
个人经历:
当看到这个题目后第一反应是:害!这也太简单了吧,然后代码一写样例一输非常正确,开心无比的交了这个题,然后WA!害,瞬间懵了!开始各种苦恼想象okk
代码
#include<stdio.h>
#include<string.h>
char a[1000000],b[1000000];
int main()
{
while(~scanf("%s %s",a,b))
{
int l1,l2;
l1=strlen(a);
l2=strlen(b);
int i,flag=0,flog=0;
for(i=0; i<l1; i++)
{
if(a[i]=='.')
flag=1;
}
for(i=0; i<l2; i++)
{
if(b[i]=='.')
flog=1;
}
if(flag)
{
while(a[l1-1]=='0')
{
a[l1-1]='\0';
l1--;
}
if(a[l1-1]=='.')
a[l1-1]='\0';
}
if(flog)
{
while(b[l2-1]=='0')
{
b[l2-1]='\0';
l2--;
}
if(b[l2-1]=='.')
b[l2-1]='\0';
}
if(strcmp(a,b)==0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}