NC206124. 探险
描述
小明去一个山洞探险,山洞可以看成的网格图,图中'.'表示平地,'#'表示墙。小明位于起点,想要到终点。但是要想到达需要开启几个机关,机关在图中表示为。开启机关的方式为在石堆处取石头放在机关上,石堆在图中表示为石堆中有足够多的石头,但是每次只能拿一个。
若小明每秒移动一步,取放石头不花时间,请问小明最少需要多长时间到达终点。
输入描述
第一行两个数,表示网格大小。
接下来的网格图,意义如题目所述。
机关个数,石堆个数,起点终点唯一。
输出描述
一个数,表示最少需要几秒到达终点,无法到达输出-1。
示例1
输入:
3 3 S#O M.. M.T
输出:
16
说明:
(1,1)->(1,3) 4步,拿石头
(1,3)->(2,1) 3步,放石头
(2,1)->(1,3) 3步,拿石头
(1,3)->(3,1) 4步,放石头
(3,1)->(3,3) 2步,到终点
共16步
示例2
输入:
3 3 S#O M.# M.T
输出:
-1
示例3
输入:
3 3 S#O M.T M..
输出:
17