P13972 [VKOSHP 2024] Prank

题目描述

Katya 用积木拼出了单词 $s_1$,但当她回到房间时,看到她的弟弟 Andrey 正跑出去。现在用积木拼出的单词变成了另一个样子——$s_2$。Andrey 承认他搞了个小“恶作剧”。他的恶作剧是这样的:Andrey 会选择一个位置,然后在该位置旁边插入两个相同字母的积木。他可以把这两个积木放在字符串的开头、结尾,或者两个相邻积木之间。 请帮助 Katya 判断 Andrey 说的是否属实,也就是说,字符串 $s_2$ 是否可以通过对字符串 $s_1$ 进行若干次上述“恶作剧”操作得到。

输入格式

一个测试包含多组输入数据。 第一行包含一个整数 $t$,表示数据组数($1 \le t \le 500\,000$)。 每组数据的第一行包含一个字符串 $s_1$,表示 Katya 最初用积木拼出的单词。 每组数据的第二行包含一个字符串 $s_2$,表示 Andrey 最终拼出的单词。 保证所有单词均由小写拉丁字母组成。所有单词的总长度不超过 $1\,000\,000$。

输出格式

对于每组输入数据,如果 Andrey 可能说的是真话,则输出 $\texttt{YES}$,否则输出 $\texttt{NO}$。

说明/提示

由 ChatGPT 4.1 翻译