AT_s8pc_3_b.石落としゲーム

通过率:0%

AC君温馨提醒

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

题目描述

square1001 为了加入计算机社团参加了一场考试。
这场考试的内容如下:

  • 给定一个 H×WH \times W 的棋盘。
  • 棋盘上的每个格子上都写有 1∼91 \sim 9 的数字。第 1 行在最上面。
  • 你可以选择消除棋盘上的任意一个格子。被消除格子上方的格子会下落补位。

此外,游戏按照以下步骤进行:

  • 1:如果有 KK 个或以上水平相邻的格子上写有相同的数字,这些格子会被同时消除。
  • 2:被消除的格子上方如果有石头,则会下落填补空位。
  • 3:所有石头下落完成后,如果又出现满足消除条件的石头群,则回到步骤 1 继续进行。
  • 4:得分为 2^i \times \left(第 ii 次消除时被消除数字的总和\right) 的总和。注意,第一次消除为第 0 次。

现在,为了帮助 square1001 最优地通过考试,请你计算在最优选择一个格子消除的情况下,最多能获得多少分。

输入格式

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

H W KH\ W\ K
c1,1 c1,2 ⋯ c1,Wc_{1,1}\ c_{1,2}\ \cdots\ c_{1,W}
c2,1 c2,2 ⋯ c2,Wc_{2,1}\ c_{2,2}\ \cdots\ c_{2,W}
⋮ ⋮ ⋮\vdots\ \vdots\ \vdots
cH,1 cH,2 ⋯ cH,Wc_{H,1}\ c_{H,2}\ \cdots\ c_{H,W}

  • 第 1 行给出棋盘的行数 HH、列数 WW 以及消除所需的最小横向相同数字个数 KK。
  • 接下来 HH 行,每行 WW 个数字,表示棋盘的状态。
  • 1~9 表示对应的数字。

输出格式

请输出最大得分,输出一行。

输入输出样例

  • 输入#1

    4 4 2
    3413
    4121
    1424
    2312

    输出#1

    23
  • 输入#2

    4 4 2
    1212
    2121
    1212
    2121

    输出#2

    54
  • 输入#3

    7 7 2
    8989898
    9898989
    8989898
    9898989
    8989898
    9898989
    8989898

    输出#3

    2520
  • 输入#4

    17 17 2
    12345678912345678
    23456789123456789
    34567891234567891
    45678912345678912
    56789123456789123
    67891234567891234
    78912345678912345
    89123456789123456
    91234567891234567
    12345678912345678
    23456789123456789
    34567891234567891
    45678912345678912
    56789123456789123
    67891234567891234
    78912345678912345
    89123456789123456

    输出#4

    2354638

说明/提示

约束条件

  • 2≤H,W≤302 \leq H, W \leq 30
  • 得分不会超过 1,000,000,0001,000,000,000
  • 初始棋盘上,任意横向相邻的格子都不会有相同的数字。

小任务

小任务 1 [120120 分]

  • H,W≤10H, W \leq 10
  • W=KW = K

小任务 2 [180180 分]

  • 无其他额外约束。

样例解释 1

如果消除位置 (4,3)(4, 3),棋盘会变为如下所示:

因此,得分为 7+16=237+16=23。
消除 (4,3)(4,3) 是最优选择。

样例解释 2

该输入样例不满足小任务 1 的约束。

样例解释 3

该输入样例不满足小任务 1 的约束。

样例解释 4

连锁消除次数可能会非常多。

由 ChatGPT 4.1 翻译

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

首页