AT_qupc2018_c Ito Campus

题目描述

牛君在一个 $H$ 行 $W$ 列的迷宫,其中 `S` 表示牛君的起点,`G` 表示牛君的终点, `#` 表示墙壁,`@` 表示野猪,`.` 表示空地。其中墙壁不可通行,且要求在任意时刻,牛君不可以在 $X$ 步内(含 $X$ 步)走到任意野猪的位置,求牛君从起点到终点的最短路径长度。

输入格式

入力は以下の形式で標準入力から与えられる。 > $ H $ $ W $ $ X $ $ s_{11}...s_{1W} $ $ : $ $ s_{H1}...s_{HW} $

输出格式

输出一个整数表示最短路径长度,如果不可能走到终点,输出 $-1$。

说明/提示

### 制約 - $ 4\ \leq\ H,\ W\ \leq\ 10^3 $ - $ 0\ \leq\ X\ \leq\ 10^6 $ - $ s_{ij} $ は `S` または `G` または `#` または `.` または `@` からなる - スタート地点とゴール地点はそれぞれ $ 1 $ つずつ存在する - イノシシがいるマスは $ 1 $ つ以上存在する - スタート地点は安全なマスであることが保証されている - 迷路の外側 $ 1 $ マスは壁で囲われている - $ H,W,X $ は整数 ### 部分点 - $ H,\ W\ \leq\ 50 $ を満たすデータセットに正解した場合、$ 30 $ 点が与えられる。 ### Sample Explanation 1 $ (2,2) $ → $ (3,2) $ → $ (3,3) $ → $ (4,3) $ → $ (4,4) $ → $ (5,4) $ と移動することで、スタートから安全なマスのみを通ってゴールまで $ 5 $ 回で移動できます。 ### Sample Explanation 3 ゴールが安全なマスとは限りません。