这道题......被我各种姿势搞死的...

  本题大意:给出两个数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?(字符串简单处理)的更多相关文章

  1. FJ的字符串-简单递归

    FJ的字符串-简单递归 问题描述FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其 ...

  2. HDOJ/HDU 2567 寻梦(字符串简单处理)

    Problem Description 每个人的童年都可能梦想过自己成为一个英雄,尤其是喜欢武侠的男生,Yifenfei也不例外. 童年的他常常梦想自己能成为一个绝世英雄,手拿一把灿灿发亮的宝剑,手挽 ...

  3. HDU 1591 Encoded Love-letter(简单字符串)

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  4. HDU 5907 Find Q(简单字符串)

    传送门 Description Byteasar is addicted to the English letter 'q'. Now he comes across a string S consi ...

  5. HDU——2112HDU Today(SPFA+简单Hash或map+前向星)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. python反转字符串(简单方法)及简单的文件操作示例

    Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片 ...

  7. HDU2112 HDU Today 最短路+字符串哈希

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. hdu 1062 Text Reverse 字符串

    Text Reverse                                                                                  Time L ...

  9. HDOJ/HDU 1073 Online Judge(字符串处理~)

    Problem Description Ignatius is building an Online Judge, now he has worked out all the problems exc ...

  10. HDOJ/HDU 1062 Text Reverse(字符串翻转~)

    Problem Description Ignatius likes to write words in reverse way. Given a single line of text which ...

随机推荐

  1. 死无对证:tomcat7 + 中文cookie + goLang

    查了下资料,很多人遇到这个问题,但是goLang使用得相对少 java.lang.IllegalArgumentException: Control character in cookie value ...

  2. Spring cloud info信息显示

    父工程添加配置如下 <build> <finalName>microservicecloud</finalName> <resources> <r ...

  3. webvtt字幕转srt字幕的python程序(附改名程序)

    最近写了两个比较简单的python程序,原有都是由于看公开课感觉比较费劲,一个是下载的视频无用的名字太长,另一个就是下载的vtt字幕播放器不识别,写了一个vtt转换成str字幕格式的文件 vtt to ...

  4. The Google File System——论文详解(转)

    “Google文件存储系统(GFS)是构建在廉价服务器之上的大型分布式系统.它将服务器故障视为正常现象,通过软件方式自动容错,在保证系统可用性和可靠性同时,大大降低系统成本. GFS是Google整个 ...

  5. java学习书单

    1   程序员必读书单 1.0  https://blog.csdn.net/onlylove_longshao/article/details/52337865 2   程序员读书雷达     ht ...

  6. python的垃圾回收机制【转】

    http://python.jobbole.com/82061/ http://www.jianshu.com/p/1e375fb40506 https://www.cnblogs.com/vamei ...

  7. 学JS的心路历程 - PixiJS -基础(三)

    今天我们来试着移动图片吧! 首先,一样先把图片放到PIXI的stage中: let app = new PIXI.Application({ width: 800, height: 600, back ...

  8. php loop循环 拿到键名

    {loop $nianjian['dache'] $key  $v}        $key能拿到键名(微擎系统试过可以)

  9. js 浏览器页面切换事件

    document.addEventListener('visibilitychange', function() { console.log(isHidden() + "-" + ...

  10. ArrayList集合类

    ⦁ 集合概述A:我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的. 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储, 就不能是一个 ...