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

  本题大意:给出两个数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. ssm学习的第一个demo---crm(4)

    (1)在crm系统中点击修改弹出了修改的框,这个使用bootstrap做的,然后看jsp代码,找到 用editCustomer,按Ctrl+k找到了次函数,edit.action没有,创建 (2)去持 ...

  2. <基础> PHP 数据类型

    PHP三大数据类型 标量 字符串 单引号:不能解析变量  效率高 双引号 :可以解析变量   效率稍微低一些 heredoc : 大文本 整形 浮点 不能用于比较运算 布尔 复合 数组 超全局数组  ...

  3. JDK7和JDK8concurrentHashmap区别

    哈希表 1.介绍 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值. 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个 ...

  4. 配置maven访问nexus,配置项目pom.xml以发布maven项目到nexus中

    maven访问nexus有三种配置方法,分别为: 项目pom.xml,优先级最高: user的settings.xml,优先级中,未在pom.xml中配置repository标签,则使用这个配置: m ...

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

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

  6. ADO数据库操作方式

    微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件.它提供了编程语言和统一数据访问方式OLE DB的一个中间层.允许开发人员编写访问数据的代码而不用关心数 ...

  7. TLS协议工作过程;如何应用TLS/SSL协议为WEB流量提供安全

      SSL/TLS协议的基本过程是这样的: 客户端向服务器端索要并验证公钥. 双方协商生成"对话密钥". 双方采用"对话密钥"进行加密通信.   上面过程的前两 ...

  8. app与jvm 反向代理时config的设置(用于在web页面显示npm(就如tomcat)产生的页面)

    dev: { // Various Dev Server settings contentBase: ROOT, host: ip, port: 8084,    //此端口为任意设置,不重复即可,为 ...

  9. winform 凹进去的button

    如果是工具栏按钮的话,可以设置CheckState属性为CheckState.Checked,这样就是按下状态了如果是普通按钮的话,有两种方法一种是系统提供的,在工具箱上右键,[选择项],然后在[CO ...

  10. Oracle 导入大量数据

    环境是这样的: 需要导入大量数据到Oracle,目前Oracle已建立索引和触发器了,导入的数据是树型结构,需要关联. 采用的方法是: 删除以前数据库的索引和触发器,用OracleBulkCopy批量 ...