#aBC287D. [ABC287D] Match or Not

[ABC287D] Match or Not

AT_abc287_d [ABC287D] Match or Not

题目描述

给定由小写英文字母和 ? 组成的字符串 S,TS,T。其中,S>T|S| > |T|(对于字符串 XXX|X| 表示 XX 的长度)。

另外,满足 X=Y|X|=|Y| 的字符串 X,YX,Y,当且仅当满足以下条件时,称为匹配

  • 可以将 X,YX,Y 中的每个 ? 独立地替换为任意小写英文字母,使得 XXYY 完全相同。

对于 x=0,1,,Tx=0,1,\ldots,|T|,请解决以下问题:

  • SS 的前 xx 个字符与后 Tx|T|-x 个字符(保持顺序)连接,得到长度为 T|T| 的字符串 SS'。如果 SS'TT 匹配,则输出 Yes,否则输出 No

输入格式

输入以以下格式从标准输入中给出。

SS TT

输出格式

输出 T+1|T|+1 行。
ii 行输出对应 x=i1x=i-1 的答案。

输入输出样例 #1

输入 #1

a?c
b?

输出 #1

Yes
No
No

输入输出样例 #2

输入 #2

atcoder
?????

输出 #2

Yes
Yes
Yes
Yes
Yes
Yes

输入输出样例 #3

输入 #3

beginner
contest

输出 #3

No
No
No
No
No
No
No
No

说明/提示

限制条件

  • S,TS,T 由小写英文字母和 ? 组成。
  • 1T<S3×1051 \leq |T| < |S| \leq 3 \times 10^5

样例解释 1

x=0x=0 时,SS'?c。此时,可以将 SS' 的第 11 个字符的 ? 替换为 b,将 TT 的第 22 个字符的 ? 替换为 c,使得 SS'TT 完全一致,因此 SS'TT 匹配。所以第 11 行输出为 Yes。当 x=1,2x=1,2 时,SS' 分别为 aca?,均无法与 TT 匹配,因此第 2,32,3 行输出为 No

由 ChatGPT 4.1 翻译