HDU 5059 Help him(细节)
来源:互联网 发布:淘宝牛仔裤质量好的店 编辑:程序博客网 时间:2024/05/22 11:51
HDU 5059 Help him
题目链接
直接用字符串去比较即可,先判断原数字正确不正确,然后写一个判断函数,注意细节,然后注意判掉空串情况
代码:
#include <cstdio>#include <cstring>const int N = 105;char n[N], a[N], b[N];bool judge(char *str) {int len = strlen(str);if (len == 0) return false;int s = 0;if (str[s] == '-') {if (len == 1) return false;s++;}if (len != 1 && str[s] == '0') return false;for (int i = s; i < len; i++) {if (str[i] < '0' || str[i] > '9')return false;}return true;}bool big(char *a, char *b) {if (a[0] == '-' && b[0] != '-') return false;if (a[0] != '-' && b[0] == '-') return true;int i = 0, j = 0;int lena = strlen(a), lenb = strlen(b);bool flag = true;if (a[i] == '-' && b[j] == '-') {i++; j++;flag = false;}if (lena > lenb) return flag;if (lena < lenb) return !flag;while (i < lena && j < lenb) {if (a[i] > b[j]) return flag;else if (a[i] < b[j]) return !flag;i++; j++;}return true;}bool solve() {if (!judge(n)) return false;if (big(n, a) && big(b, n)) return true;return false;}int main() {while (gets(n) != NULL) {scanf("%s%s%*c", a, b);while (!judge(a) || !judge(b));printf("%s\n", solve() ? "YES" : "NO");}return 0;}
1 0
- HDU 5059 Help him(细节)
- hdu 5059 Help him
- Help him HDU 5059
- HDU 5059 help him
- HDU-#5059 Help him(字符串+模拟)
- hdu 5059 Help him(模拟)
- HDU 5059 Help him (模拟)
- hdu 5059 Help him(模拟)
- HDU 5059Help him(字符串)
- Help him (BestCoder Round #12) HDU 5059
- hdu 5059 BC#12 Help him
- HDU—— 5059 Help him
- HDU 5059\BC 12B Help him
- HDU 5059 Help him(字符串 筛选数字 模拟)(atoi sprintf 函数)
- HDU-Help him-字符串的模拟
- Help him
- Help him
- 【CUGBACM15级BC第12场 B】hdu 5059 Help him
- 傅里叶变换的通俗理解
- 【CUDA学习笔记】纹理操作细节
- mount过程分析之二——mount系统调用
- 成佩涛-软件管理之工作分解WBS使用
- C++ 11
- HDU 5059 Help him(细节)
- C++ 之 函数指针
- shell之“>/dev/null 2>&1” 详解
- 移除对象参数赋值
- Effective C++ 读书笔记 条款36:绝不重新定义继承而来的 non-virtual 函数
- HDU 5062 Beautiful Palindrome Number(暴力)
- C++ STL 源码学习(之deque篇)
- 银行客户分类
- android绘制图表(二)