#P16628. [Ukiepc2024]Word Search

[Ukiepc2024]Word Search

题目描述

给定一个二维字符矩阵作为搜索模板,以及一个更大的二维字符矩阵作为搜索区域。

你需要找出搜索区域中所有与模板完全相同的子矩阵,并标记所有至少属于一次完整匹配的格子。

匹配时不能旋转或翻转模板;模板的各行、各列必须与搜索区域中的对应位置完全一致。

输入格式

第一行包含两个整数 rk,ckr_k,c_k,分别表示搜索模板的行数和列数。

接下来 rkr_k 行,每行包含一个长度为 ckc_k 的字符串,表示搜索模板的一行。

随后一行包含两个整数 rh,chr_h,c_h,分别表示搜索区域的行数和列数。

接下来 rhr_h 行,每行包含一个长度为 chc_h 的字符串,表示搜索区域的一行。

所有字符均为拉丁字母,并区分大小写。

输出格式

输出一个与搜索区域大小相同的字符网格,共 rhr_h 行,每行 chc_h 个字符。

对于搜索区域中的每个位置:

  • 若该位置属于至少一个与模板完全匹配的子矩阵,则输出搜索区域中该位置原有的字符;
  • 否则输出句点 .

数据范围

  • 1rk,ck20001\le r_k,c_k\le 2000
  • rkrh2000r_k\le r_h\le 2000
  • ckch2000c_k\le c_h\le 2000

样例 1

输入

3 3
ghi
lmn
qrs
5 5
abcde
fghij
klmno
pqrst
uvwxy

输出

.....
.ghi.
.lmn.
.qrs.
.....

样例 2

输入

1 2
ab
6 4
abba
baab
abba
baab
abba
baab

输出

ab..
..ab
ab..
..ab
ab..
..ab

样例 3

输入

4 1
n
a
n
a
7 6
ananan
nanana
ananan
nanana
ananan
nanana
batman

输出

.n.n.n
nanana
ananan
nanana
ananan
.a.ana
....a.

样例 4

输入

2 2
oo
oo
5 5
xoooo
oxooo
ooxoo
oooxo
oooox

输出

..ooo
..ooo
oo.oo
ooo..
ooo..