jyh的矿洞逃离

jyh的矿洞逃离

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

\(\rm jyh\) 在玩 \(\rm Minecraft\) 时不小心走进了一个矿洞里,走了很久他迷路了,他想请你帮帮他走出这个矿洞。

题目描述

我们假设这个矿洞是一个 \(\ N × M \) 的二维平面。

  • 你可以经过平地。平地用 "." 表示。

  • 在这个矿洞里很多岩石阻挡你的去路,凡是有岩石的地方你都不能经过。岩石用 "#" 表示。

  • 矿洞里还有许多钻石。假设你有无限根木棍,并且仅需 \(1\) 颗钻石就可以制作一把钻石镐。钻石用 "*" 表示。

  • 如果你拥有钻石镐,你可以选择挖掉 \(1\) 颗上、下、左、右的岩石,当你用过钻石镐后,这把钻石镐就废掉了(不要问我为什么)。

  • 你可以装载无限个钻石镐

起点用 "T" 表示,终点用 "S" 表示, 求走的最小步数。

如果走不出矿洞则输出 \(-1\)

输入格式

第一行: 两个整数 \(N, M\)

接下来 \(N\) 行,每行 \(M\) 个整数

输出格式

一个整数,表示最小步数

样例组

样例输入1

4 5
T.##S
..#..
*.###
..*..

样例输出1

8

样例输入2

4 5
T###S
..###
*.###
..*.#

样例输出2

-1

提示说明

对于 \(100\%\) 的数据:\(N, M ≤ 50\)

数据保证钻石数量小于 \(1000\)


对于 样例一 的解释:

我们可以走以下路径取得最小步数 \(8\)

\((1, 1) → (2, 1) → (3, 1) → (3, 2) → (2, 2) → (2, 3) → (2, 4) → (2, 5) → (1, 5)\)

[JYOI] Round1

未参加
状态
已结束
规则
OI
题目
5
开始于
2022-02-06 12:00
结束于
2022-02-07 12:00
持续时间
24.0 小时
主持人
参赛人数
2