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 翻译