AT_past202012_e ハンコ

题目描述

有一张 $h$ 行 $w$ 列的网格图 $S$。令 $(i,j)$ 表示上起第 $i$ 行,左起第 $j$ 列的格子。 一些格子中置有障碍物。若 $(i,j)$ 置有障碍物,则 $S_{i,j}$ 为 `#`;否则,$S_{i,j}$ 为 `.`。 有一个印花,它的图像在一个 $h$ 行 $w$ 列的网格图 $T$ 中展示。印花的图案就是 $T$ 中所有标 `#` 的格子组成的图案。保证 $T$ 中代表印花的格子是**四连通的**。 **你可以任意旋转和平移印花。** 问以下条件能否在印花印在 $S$ 上时同时成立: - 组成印花的各网格的各边与 $S$ 中网格的各边平行; - 印花没有在 $S$ 之外的部分; - 组成印花的任意一个格子不与 $S$ 中含有障碍物的格子重合。

输入格式

输入以以下格式从标准输入给出: >$h$ $w$ >$S_{1,1}S_{1,2}...S_{1,w}$ >$S_{2,1}S_{2,2}...S_{2,w}$ >... >$S_{h,1}S_{h,2}...S_{h,w}$ >$T_{1,1}T_{1,2}...T_{1,w}$ >$T_{2,1}T_{2,2}...T_{2,w}$ >... >$T_{h,1}T_{h,2}...T_{h,w}$

输出格式

若条件可以满足,输出 `Yes`;否则,输出 `No`。

说明/提示

#### 样例 #1 解释 一种可能的解如图(图中绿色部分表示印花,灰色部分表示障碍物): ![样例 1 解释](https://img.atcoder.jp/ghi/b2ed00b9962a7d5713a5faf85d72793a.png) #### 样例 #2 解释 仅通过平移和旋转无法满足条件。 #### 样例 #3 解释 我们可以按图示方法放置印花: ![样例 3 解释](https://img.atcoder.jp/ghi/4d06863c92714324820a8581e1b1f4ad.png) #### 数据规模与约定 对于 $100\%$ 的测试点,数据保证: - $1\le h,w\le 10$,且 $h,w$ 都为整数; - $S$ 和 $T$ 都完全由 `#` 和 `.` 组成,且 $T$ 中含有 `#` 的格子保证连通; - $S$ 和 $T$ 中都至少有一个格子为 `.`。