#P4997. 邮票画

邮票画

题目描述

邮票画是在 N×NN \times N 画布上的黑白画,其中某些单元被涂上墨水,而其他单元则是空白。它可以用一个 N×NN \times N 的字符数组来描述 (1N20)(1 \le N \le 20)。如果画布在该方格含有墨水,则数组中第ii行的第jj列为 *,否则等于 .

乐乐有一幅邮票画,他想创作,所以猫猫借给她一张 K×K(1KN)K \times K(1 \le K \le N) 的邮票来做,还有一张空的 N×NN \times N 的帆布。乐乐可以重复地将邮票顺时针旋转 9090^{\circ} 。并在网格上的任何地方涂墨,只要涂墨的地方完全在网格内。为了涂墨,乐乐选择整数 i,ji,j ,使 i[1,NK+1]i \in [1,N−K+1] and\tt and j[1,NK+1]j \in [1,N−K+1];对于每一个 (i,j)(i^{\prime},j^{\prime}) 使 1i,jK1 \le i^{\prime},j^{\prime} \le K

乐乐可以在两次盖章之间的任何时候旋转印章。一旦邮票画被涂成黑色,它就一直是黑色的。

猫猫想知道乐乐是否有可能用他的邮票创造出她想要的邮票画。对于 T(1T100)T(1 \le T \le 100) 的每一个测试案例,帮助猫猫回答这个问题。

输入文件 stamps.in

第一行一个整数 TT,表示数据组数。

每组数据第一行是一个整数 NN,接下来是一个 N×NN\times N 的矩阵,然后是一个整数 KK,接下来是一个 K×KK \times K 的矩阵。

输出文件 stamps.out

对于每一组数据,在一行内输出一个 YESNO

4

2
**
*.
1
*

3
.**
.**
***
2
.*
**

3
...
.*.
...
3
.*.
...
...

3
**.
.**
..*
2
.*
*.
YES
YES
NO
YES

第一组数据的操作如下:

  1. (1,1)(1,1) 位置贴邮票
  2. (1,2)(1,2) 位置贴邮票
  3. (2,1)(2,1) 位置贴邮票

第二组数据的操作如下:

  1. (2,2)(2,2) 位置贴邮票
  2. (2,1)(2,1) 位置贴邮票
  3. 旋转 9090^{\circ}
  4. 旋转 9090^{\circ}
  5. (1,2)(1,2) 位置贴邮票

第四组数据的操作如下:

  1. 旋转 9090^{\circ}
  2. (1,1)(1,1) 位置贴邮票
  3. (1,2)(1,2) 位置贴邮票
  4. (2,2)(2,2) 位置贴邮票

样例 2 见附加文件。