AT_abc075_b.[ABC075B] Minesweeper

普及-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个 H×WH \times W 的网格。
在输入中,所有的格子都用字符表示,. 表示空格,# 表示炸弹格。
网格由 HH 个字符串 S1,…,SHS_1,\ldots,S_H 表示。
字符串 SiS_i 的第 jj 个字符对应网格中从上到下第 ii 行、从左到右第 jj 列的格子。(1≤i≤H,1≤j≤W)(1 \leq i \leq H, 1 \leq j \leq W)

“イルカ”对每个空格的上下左右以及斜对角共 88 个方向上相邻的格子中有多少个炸弹格感到好奇。
因此,他决定将每个空格对应的 . 替换为该空格周围 88 个方向上相邻格子中炸弹格的个数。

请输出按照上述规则替换后的网格。

输入格式

输入以如下格式从标准输入给出。

HH WW
S1S_1
⋮\vdots
SHS_H

输出格式

请输出替换后的网格,共 HH 行字符串。
第 ii 行输出的字符串 TiT_i 长度为 WW,TiT_i 的第 jj 个字符对应替换后网格中从上到下第 ii 行、从左到右第 jj 列的格子。(1≤i≤H,1≤j≤W)(1 \leq i \leq H, 1 \leq j \leq W)

输入输出样例

  • 输入#1

    3 5
    .....
    .#.#.
    .....

    输出#1

    11211
    1#2#1
    11211
  • 输入#2

    3 5
    #####
    #####
    #####

    输出#2

    #####
    #####
    #####
  • 输入#3

    6 6
    #####.
    #.#.##
    ####.#
    .#..#.
    #.##..
    #.#...

    输出#3

    #####3
    #8#7##
    ####5#
    4#65#2
    #5##21
    #4#310

说明/提示

限制条件

  • 1≤H,W≤501 \leq H, W \leq 50
  • SiS_i 是仅由 # 和 . 组成的长度为 WW 的字符串

样例解释 1

以从上到下第 11 行、从左到右第 11 列的空格为例。该空格周围 88 个格子中只有从上到下第 22 行、从左到右第 22 列的格子是炸弹格。因此,从上到下第 11 行、从左到右第 11 列的空格被替换成了 1。

样例解释 2

有可能不存在空格。

由 ChatGPT 4.1 翻译

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

首页