AT_arc214_f.[ARC214F] Unpredictable Moves

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有一个 H×WH \times W 的网格。记 (i,j)(i,j) 表示从上往下第 ii 行、从左往右第 jj 列的格子。

每个格子是空地或墙,信息由 H×WH \times W 个字符 S1,1,…,SH,WS_{1,1},\dots ,S_{H,W} 表示。如果 Si,jS_{i,j} 为 .,则 (i,j)(i,j) 是空地;如果为 #,则为墙。

起初,Takahashi 在 (1,1)(1,1) 格子。他每次可以向相邻的上下左右四个方向之一移动任意次数。但他不能连续两次向同一个方向移动。另外,他不能移动到墙格,也不能走出网格。

出发前,他可以破坏若干个墙格,使其变为空地。为了能够到达 (H,W)(H,W),他最少需要破坏多少个墙格?在本题约束下,可以证明必定存在某种破坏墙格的方法使他能到达 (H,W)(H,W)。

共有 TT 组测试数据;请分别求解。

输入格式

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

TT case1\text{case}_1 case2\text{case}_2 ⋮\vdots caseT\text{case}_T

每组测试数据格式如下:

HH WW S1,1S_{1,1} S1,2S_{1,2} …\ldots S1,WS_{1,W}
S2,1S_{2,1} S2,2S_{2,2} …\ldots S2,WS_{2,W}
⋮\vdots
SH,1S_{H,1} SH,2S_{H,2} …\ldots SH,WS_{H,W}

输出格式

输出 TT 行。

第 ii 行输出第 ii 组测试数据,为 Takahashi 能到达 (H,W)(H,W) 所需破坏的最少墙格数量。

输入输出样例

  • 输入#1

    3
    3 5
    ..##.
    .#...
    ##.#.
    2 3
    ..#
    #..
    13 13
    .############
    ##.##..###..#
    #.#.#.#.#.###
    #...#..##.###
    #.#.#.#.#.###
    #.#.#.#.##..#
    #############
    #...##.##.#.#
    ###.#..##.#.#
    #...##.##...#
    #.####.####.#
    #...#...###.#
    ############.

    输出#1

    2
    0
    13

说明/提示

样例解释 1

对于第一个测试点,Takahashi 可以通过破坏下图所示的两个墙格到达 (H,W)(H,W)。

左边展示了需要破坏的墙格,右边给出了一个移动路径。注意,不要求移动次数最少,也可以多次经过同一个格子。

对于第二个测试点,无需破坏任何墙格即可到达 (H,W)(H,W)。

约束条件

  • 1≤T≤10001 \le T \le 1000
  • 2≤H,W≤1002 \le H, W \le 100
  • Si,jS_{i,j} 为 . 或 #。
  • S1,1S_{1,1} 和 SH,WS_{H,W} 均为 .。
  • 所有测试数据的 HWHW 之和不超过 3×1043\times 10^4。

由 ChatGPT 5 翻译

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

首页