题目链接

题意:有一个字符串A,现在将其一个一个输入至B中,在输入一个字符时,如果按下backspace,那么这个字符不会被键入,而且如果B不为空,则B.back()也会被删除,现给出一个字符串C,问能否得到一个B,使得B=C

解法:
①从backspace操作我们可以发现除第一个字符外,其他字符如果是删除某些字符得到的,那么删除的一定是偶数个字符。
②我们我们从后往前找到第一个A[index]==C.back()且(A.length-1-index)%2 ==0的index,如果存在B,那B.back()在A的一定是index-2k,因为要舍弃最后面的字符一定要舍弃2m个
③进行模拟:i为A当前位置,j为C当前位置,如果A[i]!=B[j],则进行删除操作: i = i − 2 i=i-2 i=i−2,如果符合的话: i − = 1 i-=1 i−=1,如果在i<0之前可以匹配完B[0],则A能输入成C,反之不能

AcCode

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<map>
#include<set>//#define int long longusing namespace std;inline int max(int a, int b) { return (a > b) ? a : b; }
inline int min(int a, int b) { return (a < b) ? a : b; }
inline int number(char c) { return c - '0'; }
const int N = 1e5 + 100;
vector<int> vec;
string str1, str2;
int len1, len2;int main() {int t;cin >> t;while (t--) {bool sign = false;cin >> str1 >> str2;len1 = str1.length();len2 = str2.length();if (len1 < len2) {cout << "NO" << endl;continue;}if (len1 == len2) {sign = (str1 == str2) ? true : false;if (sign) cout << "YES" << endl;else cout << "NO" << endl;continue;}int top = str2.length() - 1;int index = len1 - 1;for (index; index >= len2 - 1; index -= 2) if (str1[index] == str2.back()) break;for (int i = index; i >= 0; i--) {while (i >= 0 && str1[i] != str2[top]) { i -= 2; }if (i >= 0 && str1[i] == str2[top])top--;if (top < 0) {sign = true;break;}}if (sign) cout << "YES" << endl;else cout << "NO" << endl;}
}

CF-D:Backspace相关推荐

  1. vnc viewer复制到linux乱码,VNC拷出来的文字变成了ASCII的unicode编码

    在Windows上用RealVNC Viewer访问Linux服务器时,想把VNC中的命令执行结果拷出来,贴到Excel中做文档. 不做设置当然是不能copy的了,要单独开个terminal,执行 % ...

  2. SecureCRT中sqlplus,使用Backspace删除时 ^H^H

    在"Session Options" - "Terminal" - "Mapped Keys" - "Other mappings ...

  3. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  4. OC对象 vs CF对象

    2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...

  5. CF 990A. Commentary Boxes【数学/模拟】

    [链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...

  6. 解决 Python shell 中 Delete/Backspace 键乱码问题

    简述 进入 Python shell,按下 Delete/Backspace 键,会出现 ^H 字符.命令输入错误后只能从头开始,无法删除,让人很头疼.为了便于后期使用,分享一个一劳永逸的方式. 基本 ...

  7. 推荐算法——基于协同过滤CF

    https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...

  8. 索引贴——移动开发(.Net CF 停止更新)

    这是关于本人博客的技术索引贴,希望能方便的让您阅读到相关技术文章--不断更新中.一整理才发现,好多啊,哈哈- 一..Net CF技巧:搜集.转载一些和CF开发相关的辅助文章,比较适合初学者.开发入门者 ...

  9. 解答:CF截图保存在哪

    为什么80%的码农都做不了架构师?>>>    大家玩CF(穿越火线)的时候遇到精彩的画面总希望截图保存下来,然而有些游戏玩家截图后却不知道CF截图保存在哪!这不得不说是个悲剧,但是 ...

  10. CF里面的资源载入问题

    前一段时间已经发现CF在载入资源的时候会怪怪的,但是这一段时间都不曾记起要对这个问题研究一下.最近又发现这个问题了,实在是恼火.俗话说择日不如撞日(粤语),唉,就今天啦.这个问题是在VS2k5里面调试 ...

最新文章

  1. android 网络广播 类似QQ动态检查网络
  2. iOS之UI--转场动画
  3. Hadoop日记Day7---HDFS的WED端口
  4. java二维码生成与解析代码实现
  5. 硬核科普:一文看懂人脸识别技术流程
  6. 《图解HTTP》读书笔记--第8章 确认访问用户身份的认证
  7. jQuery Lightbox图片放大预览
  8. python面对对象汉诺塔_如何使用python实现的汉诺塔的小程序
  9. 网络体系结构(OSI模型和TCP/IP协议 功能)
  10. Python类方法、实例方法、静态方法和属性方法详解
  11. Bootstrap 工具提示插件
  12. 洛谷 1297 [国家集训队]单选错位——期望
  13. java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)
  14. Netty端口被占用问题
  15. Mercurial使用简单介绍zz
  16. codeblocks安装包和主题及中文语言包百度云下载
  17. C++ primer 5th 习题之10.13
  18. 百度快速排名算法解密-百度搜索引擎快速排名软件-百度快排模拟点击器软件
  19. mysql判断当前日期是否为节假日_java 判断日期是否是节假日
  20. 饥荒联机版修改在线模式

热门文章

  1. 计算机专利方法终端介质的好处,一种信息处理方法、终端及计算机存储介质专利_专利查询 - 天眼查...
  2. Python答优大作业[名片管理系统(完整代码)]
  3. 小米4 第三方re奇兔_【搞事】小米上架39元充电器 20W可适配iPhone 12系列
  4. 服务器文件整理流程,制造过程数据文档管理系统方案
  5. 凌科芯安LKT与目前市场上几种安全加密芯片的对比
  6. Nat. Light | 深度学习在全息和相干成像中的应用
  7. 月历1997年php代码_PHP实现的简单日历代码
  8. 软件测试培训靠谱吗?2个月的软件测试培训班能到底能学到技术么?
  9. 算法笔记----递归算法
  10. linux设置日志文件保存时间方法