http://acm.hdu.edu.cn/showproblem.php?pid=2054
A == B ?
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 73806 Accepted Submission(s): 11657
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
1 2 2 2 3 3 4 3
Sample Output
NO YES YES NO
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
char a[100000],b[100000];
void f(char s[])
{
int l=strlen(s);
if(strstr(s,"."))
{
for(int i=l-1;i>=0;i--)
if(s[i]!='0')
{
l=i;
break;
}
if(s[l]=='.')
s[l]='\0';
else{
l++;
s[l]='\0';
}
}
/*int k=0;
for(int i=0;i<l;i++)
{
if(s[i]!='0')
{
k=i;
break;
}
}
if(s[k]=='.')
k--;
for(int i=0;i<=l-k;i++)
s[i]=s[i+k];*/
}
int main()
{
while(scanf("%s%s",a,b)!=-1)
{
f(a);
f(b);
if(strcmp(a,b)==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}