SP3106 DICTSUB - Dictionary Subsequences

题目描述

你有一个字符串字典,需要对这些字符串执行查询操作。具体来说,给定一个字符串 $T$,对于字典中的每个单词 $W$,你需要判断 $W$ 是否为 $T$ 的子序列。如果可以通过删除 $C$ 中的若干字母(或者不删除)来得到一个和 $B$ 相同的字符串,且这些剩余字母的顺序保持不变,则称 $B$ 是 $C$ 的子序列。 字典中的每个单词 $W$ 将以**行程长度编码**(RLE)表示。即每个单词由若干对数据值组成,每对数据包含一个正整数 $K$ 和一个字母 $L$。数据对 $(K, L)$ 表示一个由 $K$ 个字符 $L$ 组成的字符串。要获得未压缩的字符串,我们需要将所有数据对表示的字符串连接起来。例如,RLE 字符串 `2A1B5C12A` 展开后为字符串 `AABCCCCCAAAAAAAAAAAA`。

输入格式

第一行输入一个正整数 $C$ ($0 < C < 10$),表示测试用例的数量。每个测试用例以一行开始,包括一个正整数 $D$ ($0 < D < 10000$),表示字典中的单词数量,以及一个长度介于 1 和 10000 之间的字符串 $T$。接下来有 $D$ 行,每行是一个长度在 1 到 200 之间的 RLE 格式字符串,代表一个未压缩长度在 1 到 10000 之间的字典单词。所有未压缩的字符串(包括 $T$ 和字典单词)都会由大写字母组成('A'-'Z')。

输出格式

对于每个测试用例输出若干行。每行对应字典中的一个单词 $W$(按照输入顺序),如果 $W$ 是 $T$ 的子序列,则输出 "YES",否则输出 "NO"。在每个测试用例的输出结束后添加一个空行。 **本翻译由 AI 自动生成**