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 ...
随机推荐
- spring cloud之路(1)
1.各个功能 springcloud 注册中心 Eureka负载均衡 Ribbon路由网关 Zuul断路器 Hystrix分布式配置 config服务调用跟踪 sleuth日志输出 elk 认证集成 ...
- Cache专用: SoftReference
SoftReference的语义就是当内存不够用的时候,GC会回收SoftReference所引用的对象.所以,在memory sensitive的程序中将某些大型数据设置成SoftReference ...
- day29-序列化 json、pickle、shelve
1.pickle和JSON序列化 如果我们想用文本文件保存一个 Python 对象怎么操作?这里就涉及到序列化的问题,序列化指的是将原本的字典.列表等内容转换成一个字符串的过程. 2.为什么要使用序列 ...
- TRANSFORM YOUR HABITS
TRANSFORM YOUR HABITS3rd EditionNote from James Clear:I wrote Transform Your Habits to create a free ...
- zabbix简易安装指南
1.php版本为5.5.37 mysql版本为5.5 nginx使用的是tengine2.2.1 2.系统为centos 7.2 最小化安装 3.使用阿里云的epel扩展源 4.首先安装依赖 yum ...
- Android忽略文件
转自我自己的博客...Android Studio上传项目到GitHub
- centos6.5下oracle自动备份删除指定天数的文件
第一步先做一个备份 #!/bin/sh export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=/dbhome_1 export ORACLE_S ...
- debug.keystare找不到的解决办法[转]
重装系统之后,丢失了debug.keystore,找了很久都没有找到,根据网上所讲的只要重新运行一个android项目;就会在avd中生成一个新的debug.keystroe,此法也没解决,索性直接重 ...
- EF 安装框架
在NuGet中安装ef框架 命令:Install-package EntityFramework
- Appium appium 安装不了
npm --registry http://registry.cnpmjs.org install -g appium使用npm的国内镜像可以安装,速度很不错.以后不想输入ip的话可以输入以下命令:n ...