AT_past202303_j 図形のシフト

题目描述

给定两个图形 $S$ 和 $T$,均为 $H$ 行 $W$ 列,每个格子为 `#` 或 `.` 组成。 图形 $S$ 给定为 $H$ 个字符串 $S_1,S_2,\ldots,S_H$,其中 $S_i$ 的第 $j$ 个字符表示 $S$ 的第 $i$ 行第 $j$ 列的元素。$T$ 的表示方式同理。 请判断能否通过对 $S$ 进行列平移操作,使 $S$ 变为 $T$。 这里,$S$ 的列平移操作定义如下: - 选择一个整数 $s$,其中 $1 \leq s \leq W$。 - 对每个 $1 \leq i \leq H$,同时进行以下操作: - 对每个 $1 \leq j \leq W$,用 $S$ 的第 $i$ 行第 $(j+s)$ 列的元素替换第 $i$ 行第 $j$ 列的元素。 这里,若 $x > W$,则 $x$ 列表示唯一满足 $x-y$ 为 $W$ 的倍数的 $y$ 列,其中 $1 \leq y \leq W$。

输入格式

输入由标准输入给出,格式如下: > $H\ W$ > $S_1$ > $S_2$ > $\vdots$ > $S_H$ > $T_1$ > $T_2$ > $\vdots$ > $T_H$

输出格式

如果可以将 $S$ 变成 $T$,输出 `Yes`,否则输出 `No`。

说明/提示

### 样例解释 1 选择 $s=2$ 时,可以使 $S$ 变成 $T$。 ### 样例解释 2 只能进行列平移,而不能翻转图形。 ### 样例解释 3 也有可能 $S=T$。 ### 约束条件 - $H$ 和 $W$ 为整数。 - $1 \leq H,W$ - $1 \leq H \times W \leq 4 \times 10^5$ - $S_i$ 和 $T_i$ 均为长度为 $W$ 的,由 `#` 和 `.` 组成的字符串。 由 ChatGPT 5 翻译