#4724. Same Map in the RPG World

0
    ID: 4724 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>AtCoderabc300BGESP 4级二维数组与矩阵模拟

Same Map in the RPG World

Same Map in the RPG World

题目描述

Takahashi 正在开发一款 RPG。他决定编写一个代码来检查两个地图是否相同。
我们有大小为 $H$ 行 $W$ 列的网格 $A$ 和 $B$。网格中的每个格子上都写有符号 # 或 $.$。
记从上数第 $i$ 行、从左数第 $j$ 列的格子在 $A$ 和 $B$ 上写的符号分别为 $A_{i, j}$ 和 $B_{i, j}$。 下面两种操作称为竖直移动和水平移动。

对于每个 j=1,2,…,Wj=1, 2, \dots, W,同时执行下列操作: 同时用 A2,j,A3,j,…,AH,j,A1,jA_{2,j}, A_{3,j}, \dots, A_{H,j}, A_{1,j} 替换 A1,j,A2,j,…,AH−1,j,AH,jA_{1,j}, A_{2,j}, \dots, A_{H-1, j}, A_{H,j}。

对于每个 i=1,2,…,Hi = 1, 2, \dots, H,同时执行下列操作: 同时用 Ai,2,Ai,3,…,Ai,W,Ai,1A_{i, 2}, A_{i, 3}, \dots, A_{i,W}, A_{i,1} 替换 Ai,1,Ai,2,…,Ai,W−1,Ai,WA_{i,1}, A_{i,2}, \dots, A_{i,W-1}, A_{i,W}。

是否存在一对非负整数 (s,t)(s, t) 满足下述条件?如果存在则输出 YesYes,否则输出 NoNo。

对 AA 先进行 ss 次竖直移动再进行 tt 次水平移动后,AA 与 BB 相同。

这里,当且仅当对所有满足 1≤i≤H1 \leq i \leq H 且 1≤j≤W1 \leq j \leq W 的整数对 (i,j)(i, j) 都有 Ai,j=Bi,jA_{i, j} = B_{i, j} 时,才称 AA 与 BB 相同。

输入格式

输入从标准输入按以下格式给出: HH WW A1,1A1,2…A1,WA_{1,1}A_{1,2}\dots A_{1,W} A2,1A2,2…A2,WA_{2,1}A_{2,2}\dots A_{2,W} ⋮\vdots AH,1AH,2…AH,WA_{H,1}A_{H,2}\dots A_{H,W} B1,1B1,2…B1,WB_{1,1}B_{1,2}\dots B_{1,W} B2,1B2,2…B2,WB_{2,1}B_{2,2}\dots B_{2,W} ⋮\vdots BH,1BH,2…BH,WB_{H,1}B_{H,2}\dots B_{H,W}

输出格式

如果存在符合条件的整数对 (s,t)(s, t) 则输出 YesYes;否则输出 NoNo。

4 3
..#
...
.#.
...
#..
...
.#.
...
Yes

..# ... .#. ...
... .#. ... ..#
.#. ... ..# ...
#.. ... .#. ...
3 2
##
##
#.
..
#.
#.
No
4 5
#####
.#...
.##..
..##.
...##
#...#
#####
...#.
Yes
10 30
..........##########..........
..........####....###.....##..
.....##....##......##...#####.
....####...##..#####...##...##
...##..##..##......##..##....#
#.##....##....##...##..##.....
..##....##.##..#####...##...##
..###..###..............##.##.
.#..####..#..............###..
#..........##.................
................#..........##.
######....................####
....###.....##............####
.....##...#####......##....##.
.#####...##...##....####...##.
.....##..##....#...##..##..##.
##...##..##.....#.##....##....
.#####...##...##..##....##.##.
..........##.##...###..###....
...........###...#..####..#...
Yes

提示

2≤H,W≤302 \leq H, W \leq 30 Ai,jA_{i,j} 是 # 或 ..,Bi,jB_{i,j} 亦然。 HH 和 WW 为整数。通过选择 (s,t)=(2,1)(s, t) = (2, 1),得到的 AA 等于 BB。
我们描述在选择 (s,t)=(2,1)(s, t) = (2, 1) 时的过程。最初,AA 如下。

我们首先做一次竖直移动使 AA 如下。

然后我们再做一次竖直移动使 AA 如下。

最后我们做一次水平移动使 AA 如下,该结果与 BB 相等。
没有任何 (s,t)(s, t) 的选择能使 AA 等于 BB。

标签: AtCoder|abc300B

来源

AtCoder|abc300B