AT_joi2018_yo_e.森林伐採(Deforestation)

通过率:0%

AC君温馨提醒

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

题目描述

JOI 王国有一片广阔的森林,这片森林呈矩形,被划分为 HH 行 WW 列的格子。位于第 ii 行第 jj 列(1≤i≤H,1≤j≤W1 \leq i \leq H, 1 \leq j \leq W)的格子中,有 Ai,jA_{i,j} 棵树。特别地,森林的西北角有一个木材加工厂,没有树木,即 A1,1=0A_{1,1}=0。

没有树的区域是可以进入的。人可以从当前所在位置,向东、西、南、北方向移动到相邻的没有树木的格子。只能在森林内活动,不能走出森林。JOI 君想通过伐木,开辟一条通道,使得可以在西北角和东南角的区域之间自由来去。

伐木时,JOI 君最初位于西北角的木材加工厂。他能在 11 分钟内移动到相邻的无树区域。另外,他可以在 11 分钟内砍伐相邻有树区域中的一棵树。每砍下树,就必须返回西北角的木材加工厂运送这段树木。在运送过程中,JOI 君的移动速度保持不变,而且在此期间无法砍伐其他树木。

请计算完成连接西北至东南通道所需的最短时间。这里的伐木时间是指最后一次砍下的树木被运回木材加工厂的时间。

输入格式

从标准输入中读入数据,格式如下:

HH WW A1,1A_{1,1} ...... A1,WA_{1,W} : AH,1A_{H,1} ...... AH,WA_{H,W}

输出格式

输出满足条件的最小伐木时间。

输入输出样例

  • 输入#1

    2 3
    0 1 2
    3 4 5

    输出#1

    32
  • 输入#2

    2 5
    0 5 0 0 0
    0 0 0 9 1

    输出#2

    13
  • 输入#3

    2 5
    0 2 0 0 0
    0 0 0 9 1

    输出#3

    11

说明/提示

条件

  • 1≤H≤301 \leq H \leq 30
  • 1≤W≤301 \leq W \leq 30
  • (H,W)≠(1,1)(H, W) \neq (1, 1)
  • 0≤Ai,j≤100000 \leq A_{i,j} \leq 10000 (1≤i≤H,1≤j≤W1 \leq i \leq H, 1 \leq j \leq W)
  • A1,1=0A_{1,1} = 0

子任务 1 [15 分]

  • 1≤H≤51 \leq H \leq 5
  • 1≤W≤51 \leq W \leq 5

子任务 2 [28 分]

  • Ai,j≤Ai,j+1A_{i,j} \leq A_{i,j+1} (1≤i≤H,1≤j≤W−11 \leq i \leq H, 1 \leq j \leq W-1)
  • Ai,j≤Ai+1,jA_{i,j} \leq A_{i+1,j} (1≤i≤H−1,1≤j≤W1 \leq i \leq H-1, 1 \leq j \leq W)

子任务 3 [57 分]

  • 无任何额外限制

样例解释 1

用 (i,j)(i, j) 表示第 ii 行第 jj 列的区域。首先,砍倒 (1,2)(1, 2) 位置的树,需要 11 分钟。接着,砍掉 (1,3)(1, 3) 的所有树。每砍一棵树,从 (1,1)(1, 1) 出发往东走 11 步到 (1,3)(1, 3) 进行砍伐,再折返回 (1,1)(1, 1),花费 33 分钟,总共 66 分钟。随后,前往 (2,3)(2, 3) 砍树,每棵树要花 55 分钟(从 (1,1)(1, 1) 向东走 22 步到 (2,3)(2, 3) 砍完树,再向西走 22 步返回),总共 2525 分钟。因此,最短伐木时间为 1+6+25=321 + 6 + 25 = 32 分钟。这是无法减少的时间,所以输出 3232。

样例解释 2

只需砍掉在 (2,5)(2, 5) 的树。

样例解释 3

首先砍掉 (1,2)(1, 2) 的树,然后砍掉 (2,5)(2, 5) 的树。

本翻译由 AI 自动生成

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

首页