AT_joi2011yo_e.チーズ (Cheese)
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
今年 JOI 镇的奶酪工厂又开始生产奶酪了,老鼠也从巢穴里探出了头。JOI 镇按照东西南北的方向被划分为若干区块,每个区块要么是巢穴、奶酪工厂、障碍物,或者空地。老鼠从巢穴出发,必须访问所有奶酪工厂,并且每到一个工厂吃掉 1 个奶酪。
这个镇上有 N 个奶酪工厂,每个工厂只生产一种奶酪。不同工厂生产的奶酪硬度各不相同,分别为 1 到 N,每种硬度的奶酪工厂各有一个。
老鼠的初始体力为 1,每吃掉 1 个奶酪体力就增加 1。但是,老鼠不能吃比自己体力更硬的奶酪。
老鼠每次可以用 1 分钟移动到东西南北相邻的区块,但不能进入障碍物区块。老鼠可以经过奶酪工厂而不吃奶酪。请编写程序,求老鼠吃完所有奶酪所需的最短时间。吃奶酪所需的时间可以忽略不计。
输入格式
输入共 H+1 行。第 1 行包含三个整数 H,W,N(1≤H≤1000,1≤W≤1000,1≤N≤9),用空格隔开。第 2 行到第 H+1 行,每行包含 W 个字符,字符集为 S、1、2、…、9、X、.,分别表示各区块的状态。若将北边第 i 行、西边第 j 列的区块记为 (i,j)(1≤i≤H,1≤j≤W),则第 i+1 行第 j 个字符表示区块 (i,j) 的状态:S 表示巢穴,X 表示障碍物,. 表示空地,1、2、…、9 表示生产硬度为 1、2、…、9 的奶酪的工厂。输入保证巢穴和每种硬度的奶酪工厂各有一个,其他区块为障碍物或空地。保证老鼠一定能吃到所有奶酪。
输出格式
输出一个整数,表示老鼠吃完所有奶酪所需的最短时间(分钟数)。
输入输出样例
输入#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测评打分。不知道怎么写?