#4192. XX到XXX(XX to XXX)

XX到XXX(XX to XXX)

题目描述

给定两个字符串 SSTT。判断是否可以通过执行以下操作若干次(可能为零次)使 SS 等于 TT

操作:在 SS 中两个相邻的相同字符之间插入一个与这两个字符相同的字符。具体步骤如下:

  1. SS 的当前长度为 NNS=S1S2SNS = S_1S_2\ldots S_N

  2. 选择一个整数 ii1iN11 \leq i \leq N-1),使得 Si=Si+1S_i = S_{i+1}。(如果不存在这样的 ii,则操作终止)

  3. SS 的第 ii 个和第 (i+1)(i+1) 个字符之间插入一个字符 Si(=Si+1)S_i(= S_{i+1})。现在 SS 变为长度为 N+1N+1 的字符串:S1S2SiSiSi+1SNS_1S_2\ldots S_i S_i S_{i+1} \ldots S_N

输入格式

输入SSTT

输出格式

如果可以使 SS 等于 TT,输出 Yes;否则,输出 No。注意判断是区分大小写的。

样例

abbaac
abbbbaaac
Yes
xyzz
xyyzz
No

样例解释

【样例1说明】
你可以通过以下三次操作使 S=S = abbaac 等于 T=T = abbbbaaac

  1. 首先,在 SS 的第 2 个和第 3 个字符之间插入 b。现在,S=S = abbbaac

  2. 接着,再次在 SS 的第 2 个和第 3 个字符之间插入 b。现在,S=S = abbbbaac

  3. 最后,在 SS 的第 6 个和第 7 个字符之间插入 a。现在,S=S = abbbbaaac

因此,应该输出 Yes
【样例2说明】
没有任何操作序列可以使 S=S = xyzz 等于 T=T = xyyzz。因此,应该输出 No

数据范围

SSTT 都是由小写英文字母组成的长度在 222×1052 \times 10^5 之间的字符串。

来源

  • AtCoder ABC259C