我早该想到这是一道水题,因为这道题在杭电OJ题库的第11页,这一页基本上全是水题。。。但是看讨论区,大家实在想的太多了,没那么复杂。。
题目是比较两个数是否相等,当然也不是直接用等于号=比较两个整型这么简单。因为这也是一道大数题,不过大家也完全没有必要想的太多!!!我在wa了之后变去讨论区看了这题该注意的情况,里面好多人讲了好多种要注意的情况,我尝试着都考虑到程序里,结果换来了更多的WA,确实考虑很多情况,写个完善的代码比较困难的。但是后来里面有人提到了大家都想的得太多了!!!我就试着按他的考虑不多的情况去考虑,结果就AC了。。强烈建议大家注意的地方:
#include<iostream> using namespace std; #include<string> void trim0(string& b) { int len = b.length(); if(b.find(‘.‘)!=string::npos) { for(int i=len-1;b[i]==‘0‘;i--) len--; b=b.substr(0,len); } if(b[len-1]==‘.‘) b=b.substr(0,len-1); } void main() { string a,b; while(cin>>a>>b) { trim0(a); trim0(b); if(a==b) cout<<"YES"<<endl; else cout<<"NO"<<endl; } }
s=“12345”; s.substring(3);//那么返回值是“45” s.substring(0,3);//那么返回值是“123”注意截取子串操作对于原字符串不会产生影响!
hdu2054 不要想太多,这就一水题,布布扣,bubuko.com
原文:http://blog.csdn.net/guodongxiaren/article/details/24271603