AT_abc422_b.[ABC422B] Looped Rope

入门

通过率:0%

AC君温馨提醒

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

题目描述

有一个 HH 行 WW 列的网格。用 (i,j)(i,j) 表示第 ii 行(1≤i≤H1\le i\le H,自上而下)第 jj 列(1≤j≤W1\le j\le W,自左而右)的格子。

每个格子被涂成白色或黑色。每个格子的颜色用 HH 个字符串 S1,S2,…,SHS_1,S_2,\ldots,S_H 表示。当 SiS_i 的第 jj 个字符(1≤j≤W1\le j\le W)为 . 时,(i,j)(i,j) 格子为白色;当 SiS_i 的第 jj 个字符为 # 时,(i,j)(i,j) 格子为黑色。

判断该网格是否满足以下条件:

  • 对于每一个黑色格子,所有与它水平或垂直相邻的黑色格子的数量为 22 或 44。

这里,(i,j)(i,j) 和 (k,l)(k,l) 两个格子当且仅当 ∣i−k∣+∣j−l∣=1|i-k|+|j-l|=1 时彼此水平或垂直相邻。

输入格式

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

HH WW
S1S_1
S2S_2
⋮\vdots
SHS_H

输出格式

如果给定的网格满足条件,输出 Yes;否则输出 No。

输入输出样例

  • 输入#1

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

    输出#1

    Yes
  • 输入#2

    1 2
    ##

    输出#2

    No
  • 输入#3

    4 3
    ...
    ...
    ...
    ...

    输出#3

    Yes
  • 输入#4

    15 18
    ##.###..##.##..##.
    ##.#.##.##.##.####
    ...##.#.......####
    ###.###....###.##.
    #.##.......#.#....
    #..#.##.##.#.#....
    #.########.####.##
    #.##.##.#....##.##
    #......##.........
    ##.##..#..##..####
    .#.#####..#####..#
    .#..#...##.#.....#
    .#..#.####.#.....#
    .##.#.#.#..##..###
    ..###.###...####..

    输出#4

    Yes

说明/提示

样例解释 1

例如,格子 (6,3)(6,3) 是黑色的,在它相邻的格子 (5,3),(6,2),(6,4),(7,3)(5,3),(6,2),(6,4),(7,3) 中,(5,3)(5,3) 和 (6,4)(6,4) 是黑色的,所以相邻黑色格子有 22 个,满足条件。

其它黑色格子也都满足条件,因此输出 Yes。

样例解释 2

格子 (1,1)(1,1) 是黑色,但它只有一个相邻的格子,所以不满足条件。

因此输出 No。

样例解释 3

没有黑色格子,所以条件成立。

因此输出 Yes。

数据范围

  • 1≤H≤201\le H\le 20
  • 1≤W≤201\le W\le 20
  • HH 和 WW 为整数
  • SiS_i 是长度为 WW 只包含 . 和 # 的字符串(1≤i≤H1\le i\le H)

由 ChatGPT 5 翻译

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

首页