AT_agc028_f2.[AGC028F2] Reachable Cells

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有一个由 NN 行 NN 列的格子组成的棋盘。自上而下的第 ii 行,自左而右的第 jj 列的格子记作 (i,j)(i,j)。每个格子要么是空的,要么有障碍物。所有空格子上都写有一个数字。当 Ai,jA_{i,j} 为 1、2、...、9 时,表示格子 (i,j)(i,j) 是空的,且上面写着数字 Ai,jA_{i,j}。当 Ai,jA_{i,j} 为 # 时,表示格子 (i,j)(i,j) 上有障碍物。

对于两个格子 XX 和 YY,若满足以下所有条件,则称“可以从格子 XX 到达格子 YY”:

  • XX 和 YY 是不同的格子。
  • XX 和 YY 都是空格子。
  • 可以从 XX 出发,每次只向右或向下移动到相邻的空格子,最终到达 YY。

请计算所有满足“可以从格子 XX 到达格子 YY”的格子对 (X,Y)(X,Y),将 XX 上的数字与 YY 上的数字相乘后求和,输出这个总和。

输入格式

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

NN
A1,1A1,2…A1,NA_{1,1}A_{1,2}\ldots A_{1,N}
A2,1A2,2…A2,NA_{2,1}A_{2,2}\ldots A_{2,N}
⋮\vdots
AN,1AN,2…AN,NA_{N,1}A_{N,2}\ldots A_{N,N}

输出格式

请输出所有满足“可以从格子 XX 到达格子 YY”的格子对 (X,Y)(X,Y),将 XX 上的数字与 YY 上的数字相乘后求和的结果。

输入输出样例

  • 输入#1

    2
    11
    11

    输出#1

    5
  • 输入#2

    4
    1111
    11#1
    1#11
    1111

    输出#2

    47
  • 输入#3

    10
    76##63##3#
    8445669721
    75#9542133
    3#285##445
    749632##89
    2458##9515
    5952578#77
    1#3#44196#
    4355#99#1#
    #298#63587

    输出#3

    36065
  • 输入#4

    10
    4177143673
    7#########
    5#1716155#
    6#4#####5#
    2#3#597#6#
    6#9#8#3#5#
    5#2#899#9#
    1#6#####6#
    6#5359657#
    5#########

    输出#4

    6525

说明/提示

数据范围

  • 1≤N≤15001 \leq N \leq 1500
  • Ai,jA_{i,j} 是 1、2、...、9 或 # 之一。

样例解释 1

满足“可以从格子 XX 到达格子 YY”的格子对共有 55 种:

  • X=(1,1)X=(1,1),Y=(1,2)Y=(1,2)
  • X=(1,1)X=(1,1),Y=(2,1)Y=(2,1)
  • X=(1,1)X=(1,1),Y=(2,2)Y=(2,2)
  • X=(1,2)X=(1,2),Y=(2,2)Y=(2,2)
  • X=(2,1)X=(2,1),Y=(2,2)Y=(2,2)

对于每一组,XX 和 YY 上的数字相乘都是 11,所以答案为 55。

由 ChatGPT 4.1 翻译

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

首页