这道题身为水题也是一道坑爹题
题目看似很简单————是呀咱第一次9行代码就交上去了,,果断WA回来
坑爹之处在于没有给定任何范围,也就是说就算是__int64, double也都是存不下测试数据的。只能用字符串来进行判断。
至于用字符串判断需要考虑哪些情况。。看代码吧。讲道理咱也是“借鉴”来的。毕竟string的特性根本就还没有深入了解。哎。另外代码中用到了&地址符号,实在看不懂的就换笨一点的办法吧。
关于ereas函数和string子字符串的判断方法可以参考以下博文
http://blog.youkuaiyun.com/q345852047/article/details/7289459 //erase函数
http://blog.youkuaiyun.com/cywosp/article/details/7280466 //string寻找特性
#include <iostream>
#include <string>
using namespace std;
void Yi(string &a)
{
int x = a.length();
if (strstr(a.c_str(), "."))
{
while (a[--x] == '0')
a.erase(x, 1);
if (a[x] == '.')
a.erase(x, 1);
}
while (a[0] == '0')
{
if (x != 1)
a.erase(0, 1);
else
return;
}
}
int main()
{
string Lu, Hui;
while (cin >> Lu >> Hui)
{
Yi(Lu);
Yi(Hui);
if (Lu.compare(Hui) == 0)
cout << "YES\n";
else
cout << "NO\n";
}
return 0;
}