通配符
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
通配符通常有星号( * )和问号( ? )两种,其中 * 可以代表任何字符串,能匹配零个、单个或多个任意字符;而 ? 仅代表单个字符,且此字符必须存在,即 ? 可以恰好匹配一个任意字符。在查找数据时,当不知道真正字符或者懒得输入完整数据时,常常使用通配符代替一个或多个真正的字符。
现在给定一个包含通配符的字符串 S,并给出若干个不含通配符的字符串,问 S 能否匹配这些字符串?
输入格式
第一行:S。S 中除了通配符外全部为小写英文字母。
第二行:一个整数 n,表示待匹配字符串的个数。
接下来 n 行,每行一个仅包含小写英文字母的待匹配字符串。
输出格式
输出 n 行,每行为 YES 或 NO,表示对应字符串能否被 S 匹配。
样例输入
*aba?bcb
3
abaabacbcb
abacbcb
aggggbaabbcbc
样例输出
YES
YES
NO
提示
对于 30% 的数据:所有字符串长度不超过 1000
对于 100% 的数据:所有字符串长度不超过 100000,1 ≤ n ≤ 100,通配符个数不超过 10