4151: XX to XXX

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:9 解决:0

题目描述

# XX to XXX ### 内存 1024MB ### 时间 2S ## 题目描述 给定两个字符串 $S$ 和 $T$。判断是否可以通过执行以下操作若干次(可能为零次)使 $S$ 等于 $T$。 操作:在 $S$ 中两个相邻的相同字符之间插入一个与这两个字符相同的字符。具体步骤如下: 1. 设 $S$ 的当前长度为 $N$,$S = S_1S_2\ldots S_N$。 2. 选择一个整数 $i$($1 \leq i \leq N-1$),使得 $S_i = S_{i+1}$。(如果不存在这样的 $i$,则操作终止) 3. 在 $S$ 的第 $i$ 个和第 $(i+1)$ 个字符之间插入一个字符 $S_i(= S_{i+1})$。现在 $S$ 变为长度为 $N+1$ 的字符串:$S_1S_2\ldots S_i S_i S_{i+1} \ldots S_N$。 ## 输入格式 输入$S$和$T$。 ## 输出格式 如果可以使 $S$ 等于 $T$,输出 `Yes`;否则,输出 `No`。注意判断是区分大小写的。 ## 输入输出样例 ### 输入样例1 ``` abbaac abbbbaaac ``` ### 输出样例1 ``` Yes ``` ### 输入样例2 ``` xyzz xyyzz ``` ### 输出样例2 ``` No ``` ## 数据范围与提示 【样例1说明】 你可以通过以下三次操作使 $S = $ `abbaac` 等于 $T = $ `abbbbaaac`: 1. 首先,在 $S$ 的第 2 个和第 3 个字符之间插入 `b`。现在,$S = $ `abbbaac`。 2. 接着,再次在 $S$ 的第 2 个和第 3 个字符之间插入 `b`。现在,$S = $ `abbbbaac`。 3. 最后,在 $S$ 的第 6 个和第 7 个字符之间插入 `a`。现在,$S = $ `abbbbaaac`。 因此,应该输出 `Yes`。 【样例2说明】 没有任何操作序列可以使 $S = $ `xyzz` 等于 $T = $ `xyyzz`。因此,应该输出 `No`。 【数据范围】 $S$ 和 $T$ 都是由小写英文字母组成的长度在 $2$ 到 $2 \times 10^5$ 之间的字符串。 ## 题目来源 ABC259C