HDU_5414 CRB and String 【字符串】
一、题目
二、分析
对于这题,读懂题意非常重要。
题目的意思是在$s$的基础上,按题目中所描述的步骤,即在$s$中任意选择一个字符$c$,在这个字符后面添加一个不等于$c$的字符$d$。
问最终能否由$s$按步骤变成$t$。
理解了题意后,我们就可以推导几个基本结论:
1 $s$肯定是$t$的字串。
2 由于是在$s$的基础上进行添加的,那么,我们可以确定除了最前面相等的$k$个串是无法添加的,后面的串都可以添加出来。如果$t$前面由相等的$k$个串,易证:$s$前面也必须由$k$个相等的串,可以结合步骤的处理了过程画一下。
满足上述两个条件则可以由$s \to t$。
三、AC代码
1 #include <cstdio>
2 #include <iostream>
3 #include <cstring>
4
5 using namespace std;
6 const int maxn = 1e5 + 13;
7 char s[maxn], t[maxn];
8
9 bool solve()
10 {
11 int i, j;
12 bool flag = true;
13 for(i = j = 0; t[i] != '\0'; i++)
14 {
15 if(flag && t[i] == t[0] && s[j] != t[0])
16 break;
17 if(t[i] != t[0])
18 flag = false;
19 if(t[i] == s[j])
20 j++;
21 }
22 if(s[j] == '\0' && t[i] == '\0')
23 return true;
24 else
25 return false;
26 }
27
28 int main()
29 {
30 //freopen("input.txt", "r", stdin);
31 int T;
32 scanf("%d", &T);
33 while(T--)
34 {
35 scanf("%s%s", &s, &t);
36 if(solve())
37 {
38 puts("Yes");
39 }
40 else
41 {
42 puts("No");
43 }
44
45 }
46 return 0;
47 }
HDU_5414 CRB and String 【字符串】的更多相关文章
- CRB and String
CRB and String Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tota ...
- HDU-5414 CRB and String
http://acm.hdu.edu.cn/showproblem.php?pid=5414 题意:给定字符串s和t,可以在s里面选一个字符c,然后任选一个字符d(d!=c)将d插入到c的后面,问能不 ...
- Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值 String str=& ...
- [CareerCup] 1.3 Permutation String 字符串的排列
1.3 Given two strings, write a method to decide if one is a permutation of the other. 这道题给定我们两个字符串,让 ...
- 03-Java String字符串详解
1.Java字符串String A.实例化String字符串:直接赋值(更合理一些,使用较多).使用关键字new. B.String内容的比较 // TODO Auto-generated metho ...
- C++学习38 string字符串的增删改查
C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加.删除.更改.查询等操作. 插入字符串 insert() 函数可以在 string 字符串中指定的位置插入另一个字符串, ...
- C++学习37 string字符串的访问和拼接
访问字符串中的字符 string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: #include <iostrea ...
- java String字符串——进度1
String字符串 在JAVA中提供了多种创建字符串对象的方法,这里介绍最简单的两种, 第一种是直接赋值, 第二种是使用String类的构造方法: 如下所示: Strin ...
- 关于String字符串反转
这是网上看到的一篇java面试题中的问题: 问题是: 如何将一个String字符串反转. String str = "1234567"; int length = str.leng ...
随机推荐
- docker镜像拉取、运行、删除
1.拉取hello-world镜像并运行 docker pull hello-world 拉取hello-world镜像Using default tag: latestlatest: Pulling ...
- Ubuntu-16.04下Docker通过阿里云镜像安装(apt-get)
由于通过官方路径安装docker时总是连接不上,所以从网上找了半天,通过阿里云镜像安装docker,我的Linux是ubuntu-16.04 一.配置源里的阿里云镜像仓库 sudo vim /etc/ ...
- STM32 单片机的USART的奇偶校验 误区(坑)
当STM32的串口配置成带有奇偶校验位的情况下,需要软件校验是否发生奇偶校验错误,硬件只是置起奇偶校验错误标志位,并将错误的数据放到DR寄存器中,同时置起RXEN标志位,如果使能中断还是会正常进入中断 ...
- webpack4.0源码解析之打包后js文件分析
首先,init之后创建一个简单的webpack基本的配置,在src目录下创建两个js文件(一个主入口文件和一个非主入口文件)和一个html文件,package.json,webpack.config. ...
- python 爬取腾讯视频的全部评论
一.网址分析 查阅了网上的大部分资料,大概都是通过抓包获取.但是抓包有点麻烦,尝试了F12,也可以获取到评论.以电视剧<在一起>为例子.评论最底端有个查看更多评论猜测过去应该是 Ajax ...
- Linux Bash Script loop
Linux Bash Script loop shell 编程之流程控制 for 循环.while 循环和 until 循环 for var in item1 item2 ... itemN do c ...
- ES6 ...rest In Action
ES6 ...rest In Action const arr = [ 2.48, 13.77, 8.64, 20.17, 8.94, 8.07, 12.05, 5.71, 17.54, 2.63 ] ...
- 2020 web developer roadmap
2020 web developer roadmap https://github.com/kamranahmedse/developer-roadmap https://roadmap.sh/ ht ...
- SSO & Single Sign On
SSO & Single Sign On 单点登录 https://en.wikipedia.org/wiki/Single_sign-on https://cloud.google.com/ ...
- NGK Global英国路演落下帷幕,区块链赋能大数据取得新突破
NGK全球巡回路演于7月25日在英国圆满举行,此次路演是由NGK英国社区主办,旨在探讨当前大数据爆炸的形式下,区块链如何赋能,解决行业痛点.会上,行业精英.区块链爱好者.各实体产业代表以及科技人员纷纷 ...