T217571 [FTLOI R1]星火
题目背景
星星之火,可以燎原。
题目描述
你是一个傻子。
你在一个 $N × M$ 的草原上。燃起了星星之火,火用 $\verb!#!$ 表示。
当然草原上不止有火,还有水坑,水用 $\verb!*!$ 表示。一个单位的水可以灭一个单位的火,由于你是一个傻子,每次你去水坑只会带走一个单位的水。(尽管你的桶可以装 $v$ 单位大的水)
由于这是星火,所以当你浇灭了这团火后,过了 $1$ 个单位时间它又会燃烧起来(只有一个单位时间的熄灭期)。
你需要走到直升机所在地逃生。
起点用 $\verb!T!$ 表示,直升机所在的用 $\verb!S!$ 表示,草原其他位置用 $\verb!.!$ 表示。
求最小到直升机的步数。如无法到达输出 $-1$。
输入格式
第一行,三个整数 $N, M, v$。
接下来 $N$ 行,每行 $M$ 个字符
输出格式
一个整数,表示最小步数
说明/提示
**本题采用捆绑测试**
| $\rm Subtask$ 编号 | 分值 | 时间限制 | 特殊限制 |
| :----------: | :----------: | :----------: | :----------: |
| $0$ | $10$ | $500\ \verb!ms!$ | $v=1$ |
| $1$ | $10$ | $500\ \verb!ms!$ | $N,M,v\le30$ |
| $2$ | $20$ | $500\ \verb!ms!$ | $N,M\le100$,$v\le200$ |
| $3$ | $20$ | $3000\ \verb!ms!$ | $v\le200$ |
| $4$ | $40$ | $5000\ \verb!ms!$ | 无特殊限制|
对于 $100 \%$ 的数据, $1\le N,M \le 500$,$1\le v\le 10^9$。
---
对于**样例一**的解释:
我们可以走以下路径取得最小步数 $8$
$(1, 1) → (2, 1) → (3, 1) → (3, 2) → (2, 2) → (2, 3) → (2, 4) → (2, 5) → (1, 5)$
### 数据更新日志
- 2022/2/7 :新增 $2$ 组数据(均为 $1$ pts),卡掉了部分AC代码