HDU2054(水题---这题有毒=_=)
来源:互联网 发布:实用电子产品知乎 编辑:程序博客网 时间:2024/05/16 10:03
题目大意:判断两个数是否相等。
思路:需要判断正负号以及前导0、小数点后面的0等等。。。
#include <cstdio>#include <algorithm>#include <cstring>#include <string>#include <iostream>#include <cmath>using namespace std;void del_1(string &str){ int flag1 = 0; int flag2 = 0; if(str[0] == '-') { flag1++; flag2 = flag1; } while(str[flag1] == '0') flag1++; str.erase(flag2, flag1-flag2);}void del_2(string &str){ int len = str.length()-1; while(str[len] == '0') len--; while(str[len] == '.') len--; str.erase(len+1);}int main(){ string a, b; while(cin >> a >> b) { int len1 = a.length(); int len2 = b.length(); if(a[0] == '+') a = a.substr(1, len1); if(b[0] == '+') b = b.substr(1, len2); del_1(a); del_1(b); for(int i = len1; i >= 0; i--) { if(a[i] == '.') { del_2(a); break; } } for(int i = len2; i >= 0; i--) { if(b[i] == '.') { del_2(b); break; } } //cout<<a<<" "<<b<<endl; if(a == b || (a[0] == '-') || (b[0] == '-')) printf("YES\n"); else printf("NO\n"); } return 0;}
0 0
- HDU2054(水题---这题有毒=_=)
- HDU2054 A == B ? 模拟题
- hdu2054 A == B ?
- HDU2054:A == B ?
- HDU2054 A == B?
- HDU2054---A == B ?
- HDU2054 A==B?
- HDU2054--A==B?
- hdu2054 A == B ?
- A == B ?(HDU2054)
- HDU2054 A == B ?
- hdu2054 A == B ?
- hdu2054 A == B ?
- HDU2054---A==B?
- 【坑】HDU2054 A==B?
- hdu2054 A == B ?【大数】
- hdu2054 A == B ? (大数)
- HDU2054-A == B ?【字符串处理】
- 单例模式几种写法
- Angular的run方法巧妙运用
- iOS开发 之 可穿戴设备 蓝牙4.0 BLE 开发
- Oracle RAC 环境下的连接管理
- jQuery插件
- HDU2054(水题---这题有毒=_=)
- Linux 驱动开发之内核模块开发 (二)—— 内核模块编译 Makefile 入门
- hdu1203 01背包问题
- gcd
- C++第一天
- 第四届蓝桥杯 软件类省赛真题 第二题:组素数
- Theron库中的actor
- 动态旋转图片(Bitmap与Matrix 旋转ImageView)
- 统计整个工程代码行数