Nutrimatic 是一个模式匹配的单词搜索工具。
在 Nutrimatic 中,我们可以用 [] 表示这一位可以填哪些字母(一定有字母), 比如说 [ace] 表示这一位字母是 a, c, e 中的一个,l[ou]ck 表示这个单词是 lock 或者 luck。现在给你一个单词和一个仅含字母和 [] 的模式串,请你判断这个单词是否是这个模式串的可能性之一。
[]
[ace]
a
c
e
l[ou]ck
lock
luck
第一行输入一个正整数 TTT 表示查询次数。
接下来每两行的第一行输入一个仅含大小写字母字符串 sss,表示给定的单词。
接下来每两行的第二行输入一个字符串 ttt,表示给定的模式串。
对于每个询问输出一行字符串 Yes 或者 No 表示单词是否是这个模式串的可能性之一,注意输出大小写敏感。
Yes
No
3 gplt [mygo]p[log]t acid [ave][mujica][sig]d apple appl[ab]
Yes Yes No
在第一组查询中,[mygo] 中有 g,[log] 中有 l,[mygo]p[log]t 可以匹配出 gplt 这个单词。
[mygo]
g
[log]
l
[mygo]p[log]t
gplt
在第三组查询中,appl[ab] 无法拼出 apple 这个单词。
appl[ab]
apple
对于所有数据,所有查询的字符串 sss 的长度和 ∑∣s∣\sum |s|∑∣s∣,以及所有查询的字符串 ttt 的长度和 ∑∣t∣\sum |t|∑∣t∣,满足 1≤∑∣s∣,∑∣t∣≤1051 \leq \sum |s|, \sum |t| \leq 10^51≤∑∣s∣,∑∣t∣≤105;
保证 sss 中只含大小写字母,ttt 中只含大小写字母和 []。保证 [] 只嵌套一层,即不会出现形如 [a[b]] 的字符串。
[a[b]]