CF1023A.Single Wildcard Pattern Matching

传统题 时间 2000 ms 内存 256 MiB 6 尝试 54 已通过 10 标签

Single Wildcard Pattern Matching

题目描述

给定两个小写英文单词 s,ts,t,其中 ss 包含还不多于一个的 *。ss 的长度为 nn,而 tt 的长度为 mm。

ss 中的 * 可以被替换为任意小写字母串(可以是空串),但其他字母不能被更改或者调换顺序。如果将 * 替换为一个任意小写字母串之后,s=ts=t,那么我们称 s,ts,t 是匹配的。

例如,如果给定的模式字符串为 s=s = "aba*aba",那么以下字符串可以与它成功匹配:"abaaba"、"abacaba" 和 "abazzzaba"。

但以下字符串不能与它匹配:"ababa"、"abcaaba"、"codeforces"、"aba1aba"、"aba?aba"。

如果给定的目标字符串 tt 与模式字符串 ss 匹配,则输出 "YES",否则输出 "NO"。

输入格式

第一行输入两个整数 n,mn,m,分别表示 ss 和 tt 的长度。

第二行输入字符串 ss,保证 ss 中只含有小写字母和不多于一个的 *。

第三行输入字符串 tt,保证 tt 中只含有小写字母。

输出格式

如果 ss 与 tt 是匹配的,那么输出 YES,否则输出 NO。

说明/提示

对于 100%100\% 的数据,1≤n,m≤2×1051\le n,m\le2\times10^5。

样例

6 10
code*s
codeforces
YES
6 5
vk*cup
vkcup
YES
1 1
v
k
NO
9 6
gfgf*gfgf
gfgfgf
NO

在线编程 IDE

建议全屏模式获得最佳体验