HDU-2054 A == B ? 题解

题目大意

给你两个数,让你判断这两个数是否相等。

解题思路

很早之前写的题了,那时候不怎么会写,就一直鸽在那里了。

刚好最近群里的新生在写这题,顺便就重新写一下了。

还挺有意思的,这个题目。

首先随便的用了下stoi,发现wa了,大概猜到应该就是一个字符串的题目了。

其实只需要判断符号,去前导零,和尾部的无用的零就可以了。

剩下的只需要判断两个字符串是否相等即可。

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <string>
using namespace std;
typedef long long ll;

int check(string a) {
if (a[0] == '-') return 1;
return 0;
}

void init1(string& t) {
while (t[0] == '0') t.erase(0, 1);
}

void init2(string& t) {
for (int i = 0; i <= t.length(); i++) {
if (t[i] == '.') {
while (!t.length()-1!=i && t[t.length() - 1] == '0') t.erase(t.length() - 1, 1);
if (t.length()-1==i) t.erase(t.length() - 1, 1);
}
}
}

int main() {
string a, b;
while (cin >> a >> b) {
if (check(a) != check(b)) {
cout << "NO" << endl; continue;
}
init1(a), init1(b), init2(a), init2(b);
if (a==b) cout << "YES" << endl;
else cout << "NO" << endl;
}
}
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • © 2015-2021 sakurakarma
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信