#1936. 旋转平移

旋转平移

题目描述

在一个无限大的平面内,每个位置 (i,j)(i,j) 都是一个 .,在这个平面内有两个 n×nn\times n 的正方形区域分别称作 sstt

现在给你 s,ts,t 的初始情况,其中 sstt 的某些格子是 #,你可以旋转无数次 ss,但每次只能旋转 90°90° 或者上下左右平移 ss 任意个整数位置,问你是否可以使得 sstt 完全匹配。

注:匹配就是二者每个位置的字符都完全相同即可,不一定完全重合在一起。具体参考样例解释

输入格式

第一行输入一个整数 nn

接下来 nn 行每行 nn 个字符,代表区域 ss

接下来 nn 行每行 nn 个字符,代表区域 tt

输出格式

如果 sstt 可以通过 9090 度旋转和平移完全匹配,输出 Yes,否则输出 No

5
.....
..#..
.###.
.....
.....
.....
.....
....#
...##
....#
Yes
5
#####
##..#
#..##
#####
.....
#####
#..##
##..#
#####
.....
No
4
#...
..#.
..#.
....
#...
#...
..#.
....
Yes
4
#...
.##.
..#.
....
##..
#...
..#.
....
No

样例 1 解释

  • ss 的初始情况如下:
.....
..#..
.###.
.....
.....
  • 首先我们将其逆时针旋转 90°90°,得到
.....
..#..
.##..
..#..
.....
  • ss 向右平移 22 格得到
.....
....#
...##
....#
.....
  • ss 向下平移 11 格得到
.....
.....
....#
...##
....#

此时和 tt 完全匹配,注意移动永远处在一个无限大都是 . 的平面内。

提示

本题开启捆绑测试

  • 1n2001 \leq n \leq 200