CF1553D Backspace

题目描述

给定两个字符串 $s$ 和 $t$,均由小写英文字母组成。你将按顺序逐个输入字符串 $s$ 的字符,从第一个字符到最后一个字符。 在输入某个字符时,你可以选择不按下该字符对应的按键,而是按下“退格键”(Backspace)。退格键会删除你已经输入但尚未被删除的最后一个字符(如果当前字符串中没有字符,则什么也不做)。例如,如果 $s$ 为 "abcbd",你在输入第一个和第四个字符时按下退格键,最终得到的字符串为 "bd"(第一次按退格键没有删除任何字符,第二次按退格键删除了字符 'c')。再比如,如果 $s$ 为 "abcaa",你在输入最后两个字符时按下退格键,最终得到的字符串为 "a"。 你的任务是判断,是否可以通过输入字符串 $s$,并在某些(可能为零)字符处用退格键替代输入,最终得到字符串 $t$。

输入格式

第一行包含一个整数 $q$($1 \le q \le 10^5$),表示测试用例的数量。 每个测试用例的第一行包含字符串 $s$($1 \le |s| \le 10^5$)。$s$ 的每个字符都是小写英文字母。 每个测试用例的第二行包含字符串 $t$($1 \le |t| \le 10^5$)。$t$ 的每个字符都是小写英文字母。 保证所有测试用例中字符串的总长度不超过 $2 \times 10^5$。

输出格式

对于每个测试用例,如果可以通过输入字符串 $s$ 并在某些字符处用退格键替代输入,最终得到字符串 $t$,则输出 "YES";否则输出 "NO"。 你可以用任意大小写输出答案(YES、yes、Yes 都视为正确,NO、no、nO 也都视为正确)。

说明/提示

参考题面中的示例: 要从 "ababa" 得到 "ba",可以在输入第一个和第四个字符时按下退格键。 无法在输入 "ababa" 时得到 "bb"。 无法在输入 "aaa" 时得到 "aaaa"。 要从 "aababa" 得到 "ababa",可以在输入第一个字符时按下退格键,然后输入剩下的所有字符。 由 ChatGPT 4.1 翻译