AT_joi2011yo_e.チーズ (Cheese)

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

今年 JOI 镇的奶酪工厂又开始生产奶酪了,老鼠也从巢穴里探出了头。JOI 镇按照东西南北的方向被划分为若干区块,每个区块要么是巢穴、奶酪工厂、障碍物,或者空地。老鼠从巢穴出发,必须访问所有奶酪工厂,并且每到一个工厂吃掉 11 个奶酪。

这个镇上有 NN 个奶酪工厂,每个工厂只生产一种奶酪。不同工厂生产的奶酪硬度各不相同,分别为 11 到 NN,每种硬度的奶酪工厂各有一个。

老鼠的初始体力为 11,每吃掉 11 个奶酪体力就增加 11。但是,老鼠不能吃比自己体力更硬的奶酪。

老鼠每次可以用 11 分钟移动到东西南北相邻的区块,但不能进入障碍物区块。老鼠可以经过奶酪工厂而不吃奶酪。请编写程序,求老鼠吃完所有奶酪所需的最短时间。吃奶酪所需的时间可以忽略不计。

输入格式

输入共 H+1H+1 行。第 11 行包含三个整数 H,W,NH, W, N(1≤H≤10001 \leq H \leq 1000,1≤W≤10001 \leq W \leq 1000,1≤N≤91 \leq N \leq 9),用空格隔开。第 22 行到第 H+1H+1 行,每行包含 WW 个字符,字符集为 S、1、2、…\ldots、9、X、.,分别表示各区块的状态。若将北边第 ii 行、西边第 jj 列的区块记为 (i,j)(i, j)(1≤i≤H1 \leq i \leq H,1≤j≤W1 \leq j \leq W),则第 i+1i+1 行第 jj 个字符表示区块 (i,j)(i, j) 的状态:S 表示巢穴,X 表示障碍物,. 表示空地,1、2、…\ldots、9 表示生产硬度为 11、22、…\ldots、99 的奶酪的工厂。输入保证巢穴和每种硬度的奶酪工厂各有一个,其他区块为障碍物或空地。保证老鼠一定能吃到所有奶酪。

输出格式

输出一个整数,表示老鼠吃完所有奶酪所需的最短时间(分钟数)。

输入输出样例

  • 输入#1

    3 3 1
    S..
    ...
    ..1

    输出#1

    4
  • 输入#2

    4 5 2
    .X..1
    ....X
    .XX.S
    .2.X.

    输出#2

    12
  • 输入#3

    10 10 9
    .X...X.S.X
    6..5X..X1X
    ...XXXX..X
    X..9X...X.
    8.X2X..X3X
    ...XX.X4..
    XX....7X..
    X..X..XX..
    X...X.XX..
    ..X.......

    输出#3

    91

说明/提示

样例解释 1

- - - - - -

样例解释 2

- - - - - -

由 ChatGPT 4.1 翻译

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

首页