Problem4499--逃生

4499: 逃生

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

小小周沦落到了一个迷宫之中,这个迷宫由 $n*m$ 个格子构成,有些格子是不能通过的,现在他要从迷宫入口 $(1,\ 1)$ 的格子走到迷宫出口 $(n,\ m)$ 的格子。
因为小小周的方向感很弱,转多了会晕,所以他走到目的地的时候,最多能转 $z$ 次,否则他就永远晕倒在原地了,到了出口也没法出去了。
请你告诉他最少能经过多少个格子走出迷宫。小周周从 $(1,\ 1)$ 出发到达的第一个点都可以认为不用转向。

Input

有多组测试数据。
对于每组测试数据,第一行为 $3$ 个整数 $n,\  m\ z\ (2 \leq n,\ m \leq 100,\ 1 \leq z \leq 50)$,表示 $n*m$ 的迷宫,最多能转 $z$ 次。
接下来是 $n*m$ 的字符矩阵,仅由 $0$ 和 $1$ 表示,$0$ 表示可以通过,$1$ 表示不可以通过。

Output

对于每组测试数据,输出一行,包含一个整数,为经过的最少格子数。如果无法到达目的地,输出 $-1$。

Sample 1 Input

2 3 3
011
000
3 2 3
01
11
00
5 5 3
00000
00000
00101
01000
00000

Sample 1 Output

4
-1
9

Source/Category

基础算法 4.100.BFS