编程题
### 问题描述 “漩涡!竞速?冲浪啦!”是一个特殊的冲浪挑战。你需要从一个起点冲浪到终点,每次你可以选择向上下左右四个方向移动,途中会遇到漩涡和加速带。漩涡会暂时降低你的速度,而加速带可以帮助你暂时提速。你的目标是用最短的时间到达终点。 地图上的每一个格子都有一个进入所需时间,普通水域为 $1$,漩涡为 $5$,加速带为 $0.5$。你需要找到耗时最短的路径。 ### 输入格式 第一行包含两个整数,$n$ 和 $m$,表示地图的大小,为 $n \times m$ 的矩阵。 接下来的n行,每行 $m$ 个字符,描述了地图。其中: - `S` 表示起点(是普通水域且唯一)。 - `E` 表示终点(是普通水域且唯一)。 - `.` 表示普通水域。 - `V` 表示漩涡。 - `A` 表示加速带。 ### 输出格式 输出保留两位小数,表示从起点到终点的最短移动时间。 ### 样例输入 ``` 5 5 S.... .A... ..V.. ...A. ....E ``` ### 样例输出 ``` 7.00 ``` ### 样例说明 从起点开始,直接向下时间为 $1$,向右进入加速带时间为 $0.5$,再向右两次时间为 $2$,再向下两次进入加速带时间为 $1.5$,然后再向下和向右达到终点时间为 $2$。总共时间花费为:$1 + 0.5 + 1 + 1 + 1 + 0.5 + 1 + 1 = 7.00$。 ### 测评数据规模 对于 $40$% 的数据,$n, m \le 10$。 对于 $80$% 的数据,$n, m \le 50$。 对于 $100$% 的数据,$n, m \le 100$。
查看答案
赣ICP备20007335号-2