#abc300b. [abc300_b]Same Map in the RPG World
[abc300_b]Same Map in the RPG World
问题描述
Takahashi正在开发一款角色扮演游戏。他决定编写一个代码来检查两个地图是否相等。
我们有网格 和 ,分别具有 行和 列。网格中的每个单元格上都有一个标记为 #
或 .
的符号。
在 和 中,第 行从顶部开始、第 列从左边开始的单元格上的符号分别用 和 表示。
以下两个操作称为垂直位移和水平位移。
- 对于每个 ,同时执行以下操作:
- 同时将 替换为 。
- 对于每个 ,同时执行以下操作:
- 同时将 替换为 。
是否存在一对非负整数 满足以下条件?如果存在,则输出 Yes
,否则输出 No
。
- 应用 次垂直位移和 次水平位移后, 等于 。
这里,当且仅当对于所有整数对 ,满足 和 ,有 ,则称 等于 。
约束条件
- 和 的值是
#
或.
。 - 和 是整数。
输入
输入数据以以下格式从标准输入中给出:
输出
如果存在满足条件的整数对 ,则输出 Yes
;否则输出 No
。
示例输入 1
4 3
..#
...
.#.
...
#..
...
.#.
...
示例输出 1
Yes
选择 ,得到的 等于 。 当选择 时,我们描述了处理过程。初始时, 如下所示。
..#
...
.#.
...
我们首先进行一次垂直位移,得到如下结果。
...
.#.
...
..#
然后,我们再进行一次垂直位移,得到如下结果。
.#.
...
..#
...
最后,我们进行一次水平位移,得到如下结果,与 相等。
#..
...
.#.
...
示例输入 2
3 2
##
##
#.
..
#.
#.
示例输出 2
No
无论选择哪个 , 都无法等于 。
示例输入 3
4 5
#####
.#...
.##..
..##.
...##
#...#
#####
...#.
示例输出 3
Yes
示例输入 4
10 30
..........##########..........
..........####....###.....##..
.....##....##......##...#####.
....####...##..#####...##...##
...##..##..##......##..##....#
#.##....##....##...##..##.....
..##....##.##..#####...##...##
..###..###..............##.##.
.#..####..#..............###..
#..........##.................
................#..........##.
######....................####
....###.....##............####
.....##...#####......##....##.
.#####...##...##....####...##.
.....##..##....#...##..##..##.
##...##..##.....#.##....##....
.#####...##...##..##....##.##.
..........##.##...###..###....
...........###...#..####..#...
示例输出 4
Yes