/ WHOJ / 题库 /

魔法逃离

魔法逃离

描述

给定一个 \(H \times W\) 的矩阵,有 \(H\) 行 \(W\) 列,矩阵中只有三种字符,第 \(i\) 行第 \(j\) 列的字符\(A[i][j]=\) '#',表示此方格不可通行,若\(A[i][j]=\) '.',表示此方格可以通行,若\(A[i][j]=\) 'S',表示 \(\text{Smart}\) 的起始位置。\(\text{Smart}\) 想要走出矩阵,即他要到达第 \(1\) 行或第 \(H\) 行或第 \(1\) 列或第 \(W\) 列。\(\text{Smart}\) 会一种魔法,使用这种魔法一次能做如下两件事(先后顺序不能颠倒):
1. 最多 \(K\) 次移动,每次移动到相邻(上、下、左、右)的可通行的方格,也可以一次都不移动;
2. 选择最多 \(K\) 个不可通行的方格,将它们全变成永久可通行的方格,也可以一个方格都不选择。
你的任务是求 \(\text{Smart}\) 至少需要使用多少次魔法,才能走出矩阵,即到达第 \(1\) 行或第 \(H\) 行或第 \(1\) 列或第 \(W\) 列。

格式

输入格式

第一行三个整数\(H,W,K\)。
接下来 \(H\) 行,每行 \(W\) 个字符描述矩阵。

输出格式

输出一行包含一个整数,表示 \(\text{Smart}\) 至少使用魔法的次数。

样例1

样例输入1

3 3 3
#.#
#S.
###

样例输出1

1

限制

\(100\%\)的数据:\(3 ≤ H ≤ 1000,3 ≤ W ≤ 1000,1≤ K ≤ H×W\)。
数据保证矩阵中只有一个'S',且不在矩阵的第 \(1\) 行或第 \(H\) 行或第 \(1\) 列或第 \(W\) 列。