hdu5059
来源:互联网 发布:ubuntu 查看重启日志 编辑:程序博客网 时间:2024/06/05 18:42
Link:http://acm.hdu.edu.cn/showproblem.php?piid=5059
本题是水题,可是陷阱比较多,应该注意的是
1.该字符串可以是空集
2.-0是wrong的
3.注意取值范围,就可以确定加入是YES的话,那么他的字符串长度一定是小于12的(因为对于负数有11位的可能)
因此,code
#include<stdio.h>#include<climits>#include<algorithm>#include<stack>#include<iostream>#include<cmath>#include<set>#include<vector>#include<map>#include<queue>#include<string.h>using namespace std;char s[110]; int main(void){ long long len,i,wr,sum,a,b; while(gets(s)) { scanf("%I64d %I64d",&a,&b); getchar(); len=strlen(s); if(len>11||len<1) { printf("NO\n"); continue; } if(s[0]=='-') { if(len==1) { printf("NO\n"); continue; } if(s[1]=='0') { printf("NO\n"); continue; } wr=0; for(i=1;i<len;i++) { if(s[i]<'0'||s[i]>'9') {wr=1;break; } } if(wr) { printf("NO\n"); continue; } sum=0; for(i=1;i<len;i++) { sum=sum*10+s[i]-'0'; } sum=0-sum; if(sum>=a&&sum<=b) { printf("YES\n"); } else printf("NO\n"); } else { if(len>1&&s[0]=='0') { printf("NO\n"); continue; } wr=0; for(i=0;i<len;i++) { if(s[i]<'0'||s[i]>'9') { wr=1; break; } } if(wr) { printf("NO\n"); continue; } sum=0; for(i=0;i<len;i++) { sum=sum*10+s[i]-'0'; } if(sum>=a&&sum<=b) { printf("YES\n"); } else printf("NO\n"); } } return 0;}
继续努力吧,KEEP IT ON
0 0
- hdu5059
- hdu5059 恶心模拟TAT
- Bestcoder HDU5059 Help him 字符串处理
- hdu5059——Help him(字符串处理)
- 【一些题】剑指offer:在字符串中找出第一个只出现一次的字符
- hdu5058
- js编写的基本原则
- jsp中redirect和forward的区别
- MIL-SSTD-1553B总线协议术语解释
- hdu5059
- JAVA本地方法 native method
- ORACLE打开和关闭数据--基础
- 工作周报三
- 【BZOJ】【P1951】【Sdoi2010】【古代猪文】【题解】【数论】
- POJ 3237 树链剖分
- [设计模式01]-单例模式
- Vuforia SDK---- Vuforia识别类型介绍
- CF475D. CGCDSSQ