AT_nupc2024_o.LRUD Maze

通过率:0%

AC君温馨提醒

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

题目描述

给定一个由 NN 行 MM 列组成的网格。自上而下第 ii 行、从左到右第 jj 列的格子记作 (i,j)(i, j)。每个格子上写有一个字符 'L'、'R'、'U'、'D',表示如下标记。现第 (i,j)(i, j) 格上写的是 Si,jS_{i,j}。

在该网格上,如果当前位于格子 (i,j)(i, j),且该格子中写着字符 cc,则可以按如下方式移动:

  • 若 $c = $ 'L' 且 j≠1j \neq 1,可以移动到格子 (i,j−1)(i, j-1)。
  • 若 $c = $ 'R' 且 j≠Mj \neq M,可以移动到格子 (i,j+1)(i, j+1)。
  • 若 $c = $ 'U' 且 i≠1i \neq 1,可以移动到格子 (i−1,j)(i-1, j)。
  • 若 $c = $ 'D' 且 i≠Ni \neq N,可以移动到格子 (i+1,j)(i+1, j)。

接下来你需要进行恰好 11 次如下操作:

  • 选择整数 1≤i≤N1 \leq i \leq N 且 1≤j≤M1 \leq j \leq M,将 (i,j)(i, j) 的字符更改为 'L'、'R'、'U'、'D' 中与 Si,jS_{i,j} 不同的一个字符。

这样一共会有 3NM3NM 种不同的操作。请计算,在所有这些操作中,操作后的网格使得你可以从 (1,1)(1,1) 移动到 (N,M)(N, M) 的操作数量是多少。

输入格式

输入按如下格式从标准输入读入:

NN MM
S1,1S1,2…S1,MS_{1,1} S_{1,2} \dots S_{1,M}
S2,1S2,2…S2,MS_{2,1} S_{2,2} \dots S_{2,M}
⋮\vdots
SN,1SN,2…SN,MS_{N,1} S_{N,2} \dots S_{N,M}

输出格式

请将答案输出到标准输出的一行。

输入输出样例

  • 输入#1

    3 3
    RDD
    RLD
    URU

    输出#1

    3
  • 输入#2

    3 3
    UUU
    RRR
    DDD

    输出#2

    0
  • 输入#3

    3 4
    RDUU
    LRDD
    ULRU

    输出#3

    22

说明/提示

样例解释 1

满足条件的有以下 33 种:

  • 将 (1,2)(1,2) 改为 'R'
  • 将 (2,2)(2,2) 改为 'R'
  • 将 (2,2)(2,2) 改为 'D'

样例解释 2

答案也可能为 00。

数据范围

  • 2≤N,M≤10002 \leq N, M \leq 1000
  • N,MN,M 为整数
  • Si,jS_{i,j} 仅为 'L'、'R'、'U'、'D' 中的一个字母

由 ChatGPT 5 翻译

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

首页