http://acm.hdu.edu.cn/showproblem.php?pid=2054
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
这种骚题真恶心,哈哈哈,我喜欢恶心的东西。
题解,得判符号,判小数点。
#include<iostream>
#include<string>
using namespace std;
int main(){
string a,b,a1,b1;
while(cin>>a>>b){
if(a[0]=='-'){
a=a.substr(1);
a1="-";
}else a1="0";
if(b[0]=='-'){
b=b.substr(1);
b1="-";
}else b1="0";
int index1=a.find(".",0);
if(index1==string::npos){
a+=".";index1=a.length()-1;
}
int index2=b.find(".",0);
if(index2==string::npos){
b+=".";index2=b.length()-1;
}
int len=b.length()-index2>a.length()-index1?b.length()-index2:a.length()-index1;
int len1=len-(a.length()-index1);
while(len1--)a+="0";
int len2=len-(b.length()-index2);
while(len2--)b+="0";
len=a.length()>b.length()?a.length():b.length();
while(a.length()<len){
a="0"+a;
}
while(b.length()<len){
b="0"+b;
}
a=a1+a;
b=b1+b;
if(a==b)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}