A116898.小午历险记之沙漠信标

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在一片被风沙覆盖的无人区中,有一张由方格组成的探测区域图。小午需要从起点 SS 出发,前往目标信标 TT

地图中每个字符的含义如下:

  • .:普通沙地,可以通行;
  • #:岩壁,无法通过;
  • G:能量检查点;
  • S:起点;
  • T:终点。

小午每一步可以向上 / 下 / 左 / 右移动一格(不能走出地图范围)。在整个行进过程中,最多只能通过一次能量检查点:也就是说,路径上最多进入 11G 格子;进入该格子的那一步同样计入步数。

请计算从 ST 的最少步数;如果无法到达,输出 -1

输入格式

第一行包含两个整数 n,mn, m

接下来 nn 行,每行一个长度为 mm 的字符串,表示探测区域地图。

保证地图中恰好有一个 S 和一个 T

输出格式

输出一个整数,表示最少步数;若无法到达,则输出 -1

输入输出样例

  • 输入#1

    3 5
    S..#.
    ...GT
    ...#.

    输出#1

    5

说明/提示

样例解释

最短路径需要恰好经过一次能量检查点,在避开岩壁后成功抵达目标信标。

数据范围

对于 100%100\% 的测试数据,满足:1n,m1\le n,m , nm2×105n\cdot m\le 2\times 10^5

首页