题目描述
众所周知,人类的外观与外貌具有极大的差异性,但实际决定其各种因素的根本因素在于基因,而实际上,同种生物的全部基因库相似性其实相当的高。而数字长相上差异性也是很大的,但数字的大小取决于它的基因,也就是说相同大小的数字基因是相等的。羊村的新村长帆洋洋对数字很感兴趣,尤其是对于数字之间基因的关系,他给希望你能够写一个程序帮助他判断数字 A 与 B 的基因关系,如果你能帮助村长帆洋洋成功找出数字间的基因关系,羊村将会俸你为贵客,还有希望能见到羊村的村花美羊羊哦! 你可以帮助帆洋洋嘛?只需要写出一个能够判断A和B是否相等的程序哦
Data range: (1e -10000 <= A ,B <= 1e10000)
将小数点后无意义的零进行处理
对无意义的前导零进行处理
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
void cut(string &a) {
int i;
for (i = a.length() - 1; i > 0; --i) {
if (a[i] == '0') {
a.erase(i);
// cout << a << endl;
} else {
break;
}
}
if (a[i] == '.') {
a.erase(i);
}
}
void cut_before_zero(string &a) {
int i = 0;
int flag = 0;
for (i = 0; i < a.length(); ++i) {
if (a[i] != '0') {
break;
} else {
flag = 1;
}
}
if (flag) {
a.erase(0, i);
}
}
int main() {
string a, b;
while (cin >> a >> b) {
cut_before_zero(a);
cut_before_zero(b);
for (int i = 0; i < a.length(); ++i) {
if (a[i] == '.') {
cut(a);
break;
}
}
for (int i = 0; i < b.length(); ++i) {
if (b[i] == '.') {
cut(b);
break;
}
}
if (a == b) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}