HDU-2054.A==B?(字符串简单处理)
这道题......被我各种姿势搞死的...
本题大意:给出两个数A和B,判断A和B是否相等,对应输出YES or NO。
本题思路:本题我有两种思路,第一种是直接去除前导零和后导零然后稍加处理比较字符串即可,第二种是找出每个字符串的 '.' 然后向两边搜索即可,下面给出第一种思路的代码,仅供参考,建议读者自行实现。
参考代码:
#include <cstdio>
#include <cstring>
using namespace std; const int maxn = 1e8;
int begina, beginb, enda, endb, point1, point2, len1, len2;
bool flag;
char a[maxn], b[maxn]; int main () {
while(~scanf("%s %s", a, b)) {
flag = true;
point1 = point2 = maxn;
len1 = strlen(a), len2 = strlen(b);
if(strchr(a, '.'))
point1 = strchr(a, '.') - a;
if(strchr(b, '.'))
point2 = strchr(b, '.') - b;
begina = -, beginb = -, enda = len1, endb = len2;
for(int i = ; i < len1; i ++)// find begina
if(a[i] == '' && i < point1) begina = i;
else break;
for(int i = ; i < len2; i ++)// find beginb
if(b[i] == '' && i < point2) beginb = i;
else break;
for(int i = len1 - ; i >= point1; i --)// find enda
if(a[i] == '') enda = i;
else if(a[i] == '.') enda = i;
else break;
for(int i = len2 -; i >= point2; i --)// find endb
if(b[i] == '') endb = i;
else if(b[i] == '.') endb = i;
else break;
int i = begina + ;
for(int j = beginb + ; i < enda; j ++)
if(a[i ++] != b[j]) {
printf("NO\n");
flag = false;
break;
}
if(flag) printf("YES\n");
}
return ;
}
HDU-2054.A==B?(字符串简单处理)的更多相关文章
- FJ的字符串-简单递归
FJ的字符串-简单递归 问题描述FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其 ...
- HDOJ/HDU 2567 寻梦(字符串简单处理)
Problem Description 每个人的童年都可能梦想过自己成为一个英雄,尤其是喜欢武侠的男生,Yifenfei也不例外. 童年的他常常梦想自己能成为一个绝世英雄,手拿一把灿灿发亮的宝剑,手挽 ...
- HDU 1591 Encoded Love-letter(简单字符串)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- HDU 5907 Find Q(简单字符串)
传送门 Description Byteasar is addicted to the English letter 'q'. Now he comes across a string S consi ...
- HDU——2112HDU Today(SPFA+简单Hash或map+前向星)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- python反转字符串(简单方法)及简单的文件操作示例
Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片 ...
- HDU2112 HDU Today 最短路+字符串哈希
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- hdu 1062 Text Reverse 字符串
Text Reverse Time L ...
- HDOJ/HDU 1073 Online Judge(字符串处理~)
Problem Description Ignatius is building an Online Judge, now he has worked out all the problems exc ...
- HDOJ/HDU 1062 Text Reverse(字符串翻转~)
Problem Description Ignatius likes to write words in reverse way. Given a single line of text which ...
随机推荐
- springMVC数据模型model,modelmap,map,@ModelAttribute的相互关系
结论: a.注解方法中形参为model,modelmap,map一个或几个时,他们指向的引用对象相同即他们的值相同. b.当使用@ModelAttribute注解请求参数时,springmvc自动将该 ...
- nosql数据库:mongodb,redis,memcached,其优缺点和使用应用场景
1.mongodb (1)是文档型的非关系型数据库,使用bson结构.其优势在于查询功能比较强大,能存储海量数据,缺点是比较消耗内存. (2)一般可以用来存放评论等半结构化数据,支持二级索引. 适合存 ...
- UIPanGestureRecognizer translateInView, locationInView
假设在panGesture的回调事件里已经拿到了panGestureRecognizer CGPoint point = [panGestureRecognizer locationInView:se ...
- vue.js 组件引用之初级
1. 构造组件,及组件引用:1.1 构造一个组件,1.2 注册一个组件,1.3 实例化Vue()即引用Vue() <!DOCTYPE html> <html lang=" ...
- 用python实现一个简单的服务器
打开命令行工具,输入: python3 -m http.server 8000(端口可以自己定) 通过访问:http://ip:8000/,就能给别人快速分享文件了.
- python中time模块和datetime模块
time模块和datetime模块 时间分为三种模式(time 模块) 时间戳 (time.time()) 格式化字符串 (time.strftime(%Y-%m-%d %H:%M:%S %p)) ...
- 学习笔记2:postman 的基本使用
1.get 请求 请求接口:http://xx.xx.xx.xx/api/user/stu_info 请求参数:stu_name 请求参数是放在请求 URL 里的,点击 Params添加参数,key ...
- C# 2018.9.17
C#的优点:1,不会有运行时崩溃,解决了C++的痛点一,难预防,难查错2,使用文件不需要包含进来,只需要using namespace即可,解决了C++的痛点二,包含复杂,路径复杂,编译复杂3,编译速 ...
- LeetCode OJ 19. Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...
- 如何遍历Map对象
方法一 通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历.推荐,尤其是容量大时 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使 ...