AT_past202303_j.図形のシフト

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定两个图形 SS 和 TT,均为 HH 行 WW 列,每个格子为 # 或 . 组成。

图形 SS 给定为 HH 个字符串 S1,S2,…,SHS_1,S_2,\ldots,S_H,其中 SiS_i 的第 jj 个字符表示 SS 的第 ii 行第 jj 列的元素。TT 的表示方式同理。

请判断能否通过对 SS 进行列平移操作,使 SS 变为 TT。

这里,SS 的列平移操作定义如下:

  • 选择一个整数 ss,其中 1≤s≤W1 \leq s \leq W。
  • 对每个 1≤i≤H1 \leq i \leq H,同时进行以下操作:
    • 对每个 1≤j≤W1 \leq j \leq W,用 SS 的第 ii 行第 (j+s)(j+s) 列的元素替换第 ii 行第 jj 列的元素。

这里,若 x>Wx > W,则 xx 列表示唯一满足 x−yx-y 为 WW 的倍数的 yy 列,其中 1≤y≤W1 \leq y \leq W。

输入格式

输入由标准输入给出,格式如下:

H WH\ W
S1S_1
S2S_2
⋮\vdots
SHS_H
T1T_1
T2T_2
⋮\vdots
THT_H

输出格式

如果可以将 SS 变成 TT,输出 Yes,否则输出 No。

输入输出样例

  • 输入#1

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

    输出#1

    Yes
  • 输入#2

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

    输出#2

    No
  • 输入#3

    2 1
    #
    .
    #
    .

    输出#3

    Yes
  • 输入#4

    8 7
    .#.....
    ..#....
    ....#..
    #.....#
    .#.....
    ..#....
    ....#..
    #.....#
    .....#.
    ......#
    .#.....
    ...##..
    .....#.
    ......#
    .#.....
    ...##..

    输出#4

    Yes

说明/提示

样例解释 1

选择 s=2s=2 时,可以使 SS 变成 TT。

样例解释 2

只能进行列平移,而不能翻转图形。

样例解释 3

也有可能 S=TS=T。

约束条件

  • HH 和 WW 为整数。
  • 1≤H,W1 \leq H,W
  • 1≤H×W≤4×1051 \leq H \times W \leq 4 \times 10^5
  • SiS_i 和 TiT_i 均为长度为 WW 的,由 # 和 . 组成的字符串。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页