编程题
### 问题描述
小郑最近迷上了泡泡堂这款经典游戏,泡泡堂是一款经典的多人在线射击游戏,游戏中玩家扮演可爱的角色,通过放置泡泡炸弹来击败对手,最后存活下来的玩家将获胜。泡泡堂具有简单易学的操作和快节奏的游戏节奏,同时还有丰富的地图选择和各种道具、技能供玩家使用,这使得游戏变得充满策略性和竞争性,吸引了大量的玩家参与。
在游戏过程中,小郑发现预判炸弹爆炸的时间以及范围非常重要,所以他在这方面下足了功夫。
现在,他又发现了另一个问题,即使他知道了爆炸的时间及范围,他也有可能无法在规定的时间内移动到安全的位置。
小郑知道自己无法在同一时间内承受这么多运算量,所以他把问题抛给了你。
小郑每次移动只能向上下左右中的一个方向走一格。
假设小郑每到达一个安全状态,所有炸弹都会直接爆炸,并转换为下一个状态。
小郑已经知道了即将到来的 $k$ 次爆炸的具体情况,你能帮小郑算出他安全经过所有爆炸状态所需的最少移动次数吗?
### 输入格式
第一行包含两个整数,代表地图大小 $N$ 以及爆炸次数 $K$。
第二行同样包含两个整数,代表小郑的初始位置 $x,y$,表示小郑在地图的第 $x$ 行 $y$ 列。
接下来 $K$ 个 $n$ 行 $n$ 列的矩阵(地图),代表爆炸状态。矩阵仅由 $0$ 和 $1$ 构成,$0$ 代表安全区域,$1$ 代表将要被炸到的区域。矩阵中不含空格。
数据保证有解,且在 $N \gt 10$ 的矩阵中 $70$% 以上的数字为 $1$。
### 输出格式
输出包含 $1$ 个整数,代表小郑安全经过所有爆炸状态所需的最少移动次数。
### 样例输入 1
```text
3 3
3 1
000
111
101
111
000
111
111
101
111
```
### 样例输出 1
```text
2
```
### 样例输入 2
```text
3 3
1 1
011
111
111
011
111
111
011
111
111
```
### 样例输出 2
```text
0
```
### 样例输入 3
```text
3 3
2 2
011
111
111
110
111
101
111
111
011
```
### 样例输出 3
```text
6
```
### 提示
样例一解释:小郑初始位置在矩阵的左下角,他先向右移动一格,避开第一次爆炸,再向上移动一格到达矩阵中心,便可避开后面的两次爆炸。
### 评测数据规模
对于所有评测数据,$0 \lt N,K \le 15,0 \lt x,y \le N$,数据保证有解,且在 $N \gt 10$ 的矩阵中 $70$% 以上的数字为 $1$。