#CF1303E. Erase Subsequences
Erase Subsequences
markdown
E. 删除子序列
每个测试的时间限制: 秒
每个测试的内存限制: MB
输入:标准输入
输出:标准输出
题目描述
你有一个字符串 。你可以通过以下操作从 中构造一个新的字符串 ,最多使用两次该操作:
- 选择任意一个子序列 ,其中 ;
- 从 中删除所选的子序列( 可能变为空);
- 将所选的子序列拼接到字符串 的右侧(即 )。
当然,初始时字符串 是空的。
例如,令 。
第一次,选择子序列 ,得到 ,。
第二次,选择子序列 ,得到 ,。
因此,我们可以从 构造出 。
请问,能否通过上述算法构造出给定的字符串 ?
输入
第一行包含一个整数 ()—— 测试用例的数量。
接下来的 行每行包含两个测试用例:
- 第一行包含一个由小写拉丁字母组成的字符串 ()—— 初始字符串。
- 第二行包含一个由小写拉丁字母组成的字符串 ()—— 你想要构造的字符串。
保证所有测试用例中 的总长度不超过 。
输出
输出 个答案 —— 每个测试用例一行。
如果能够构造出 ,则输出 YES(不区分大小写),否则输出 NO(不区分大小写)。
示例
输入
4
ababcd
abcba
a
b
defi
fed
xyz
x
输出
YES
NO
NO
YES