AT_abc243_h.[ABC243Ex] Builder Takahashi (Enhanced version)

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有一个 H×WH \times W 的网格。第 ii 行第 jj 列的格子记作 (i,j)(i,j)。
每个格子的状态用 Ci,jC_{i,j} 表示。每个格子的状态有以下四种之一:

  • S:起点。网格上恰好有且仅有一个。
  • G:终点。网格上恰好有且仅有一个。
  • .:可以建墙的格子。
  • O:不可以建墙的格子。

青木君从起点出发,在网格上移动,目标是到达终点。青木君在 (i,j)(i,j) 时,可以移动到 (i+1,j)(i+1,j)、(i,j+1)(i,j+1)、(i−1,j)(i-1,j)、(i,j−1)(i,j-1) 中的任意一个格子。只是,不能移动到网格外,也不能移动到有墙的格子。

高桥君可以在青木君开始移动之前,选择至少一个可以建墙的格子建墙,使得无论青木君如何移动,都无法到达终点。起点和终点不能建墙。

请问高桥君能否通过建墙让青木君无法到达终点?如果可以,请计算:

  • 使青木君无法到达终点所需建墙的最小格子数 nn,以及
  • 达成最小建墙数的方案数对 998244353998244353 取模的结果 rr

请输出上述两个整数。

输入格式

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

HH WW
C1,1C_{1,1} C1,2C_{1,2} …\dots C1,WC_{1,W}
C2,1C_{2,1} C2,2C_{2,2} …\dots C2,WC_{2,W}
⋮\vdots
CH,1C_{H,1} CH,2C_{H,2} …\dots CH,WC_{H,W}

输出格式

如果高桥君可以通过建墙让青木君无法到达终点,输出字符串 Yes,以及题目中定义的整数 nn、rr,格式如下:

Yes nn rr

否则输出 No。

输入输出样例

  • 输入#1

    4 3
    S..
    O..
    ..O
    ..G

    输出#1

    Yes
    3 6
  • 输入#2

    3 2
    .G
    .O
    .S

    输出#2

    No
  • 输入#3

    2 2
    S.
    .G

    输出#3

    Yes
    2 1
  • 输入#4

    10 10
    OOO...OOO.
    .....OOO.O
    OOO.OO.OOO
    OOO..O..S.
    ....O.O.O.
    .OO.O.OOOO
    ..OOOG.O.O
    .O.O..OOOO
    .O.O.OO...
    ...O..O..O

    输出#4

    Yes
    10 12

说明/提示

限制

  • 2≤H≤1002 \leq H \leq 100
  • 2≤W≤1002 \leq W \leq 100
  • Ci,jC_{i,j} 只可能是 S、G、.、O 之一。
  • S、G 在 Ci,jC_{i,j} 中各出现且仅出现一次。

样例解释 1

用 # 表示建墙的格子,最小建墙数的方案如下,共有 66 种:

S#.   S.#   S..   S..   S..   S..
O#.   O#.   O##   O.#   O.#   O.#
#.O   #.O   #.O   ##O   .#O   .#O
..G   ..G   ..G   ..G   #.G   .#G

样例解释 2

无论高桥君如何建墙,青木君都能到达终点。

由 ChatGPT 4.1 翻译

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

首页