#ATabc300b. [ABC300B] Same Map in the RPG World
[ABC300B] Same Map in the RPG World
题目描述
高桥君正在制作 RPG。他决定编写一个程序,用于判断两张 RPG 世界地图是否一致。
有两个大小为 行 列的网格 和 。每个网格的每个格子上都写有 # 或 .。
和 的第 行第 列的字符分别记作 和 。
有如下两种操作,分别称为纵向平移和横向平移。
- 对于 ,同时进行以下操作:
- 将 同时替换为 。
- 对于 ,同时进行以下操作:
- 将 同时替换为 。
请判断是否存在满足下述条件的非负整数对 :
- 先对 进行 次纵向平移,再进行 次横向平移后, 与 完全一致。
这里, 与 完全一致,指的是对于所有满足 的整数对 ,都有 。
如果存在这样的整数对 ,输出 Yes,否则输出 No。
输入格式
输入通过标准输入给出,格式如下:
输出格式
如果存在满足条件的整数对 ,输出 Yes;否则输出 No。
样例 1
输入
4 3
..#
...
.#.
...
#..
...
.#.
...
输出
Yes
样例 2
输入
3 2
##
##
#.
..
#.
#.
输出
No
样例 3
输入
4 5
#####
.#...
.##..
..##.
...##
#...#
#####
...#.
输出
Yes
样例 4
输入
10 30
..........##########..........
..........####....###.....##..
.....##....##......##...#####.
....####...##..#####...##...##
...##..##..##......##..##....#
#.##....##....##...##..##.....
..##....##.##..#####...##...##
..###..###..............##.##.
.#..####..#..............###..
#..........##.................
................#..........##.
######....................####
....###.....##............####
.....##...#####......##....##.
.#####...##...##....####...##.
.....##..##....#...##..##..##.
##...##..##.....#.##....##....
.#####...##...##..##....##.##.
..........##.##...###..###....
...........###...#..####..#...
输出
Yes
说明/提示
限制条件
- 仅为
#或. - 均为整数
样例解释 1
当 时,可以使 和 一致。下面说明 时的操作过程。初始时, 如下:
..#
...
.#.
...
首先进行一次纵向平移, 变为:
...
.#.
...
..#
再进行一次纵向平移, 变为:
.#.
...
..#
...
最后进行一次横向平移, 变为,与 完全一致:
#..
...
.#.
...
样例解释 2
无论如何选择 ,都无法使 和 一致。
由 ChatGPT 4.1 翻译