Processing math: 100%
编程题
                ### 问题描述

小郑最近迷上了泡泡堂这款经典游戏,泡泡堂是一款经典的多人在线射击游戏,游戏中玩家扮演可爱的角色,通过放置泡泡炸弹来击败对手,最后存活下来的玩家将获胜。泡泡堂具有简单易学的操作和快节奏的游戏节奏,同时还有丰富的地图选择和各种道具、技能供玩家使用,这使得游戏变得充满策略性和竞争性,吸引了大量的玩家参与。

在游戏过程中,小郑发现预判炸弹爆炸的时间以及范围非常重要,所以他在这方面下足了功夫。

现在,他又发现了另一个问题,即使他知道了爆炸的时间及范围,他也有可能无法在规定的时间内移动到安全的位置。

小郑知道自己无法在同一时间内承受这么多运算量,所以他把问题抛给了你。

小郑每次移动只能向上下左右中的一个方向走一格。

假设小郑每到达一个安全状态,所有炸弹都会直接爆炸,并转换为下一个状态。

小郑已经知道了即将到来的 k 次爆炸的具体情况,你能帮小郑算出他安全经过所有爆炸状态所需的最少移动次数吗?

输入格式

第一行包含两个整数,代表地图大小 N 以及爆炸次数 K

第二行同样包含两个整数,代表小郑的初始位置 x,y,表示小郑在地图的第 xy 列。

接下来 Knn 列的矩阵(地图),代表爆炸状态。矩阵仅由 01 构成,0 代表安全区域,1 代表将要被炸到的区域。矩阵中不含空格。

数据保证有解,且在 N>10 的矩阵中 70% 以上的数字为 1

输出格式

输出包含 1 个整数,代表小郑安全经过所有爆炸状态所需的最少移动次数。

样例输入 1

3 3
3 1
000
111
101
111
000
111
111
101
111

样例输出 1

2

样例输入 2

3 3
1 1
011
111
111
011
111
111
011
111
111

样例输出 2

0

样例输入 3

3 3
2 2
011
111
111
110
111
101
111
111
011

样例输出 3

6

提示

样例一解释:小郑初始位置在矩阵的左下角,他先向右移动一格,避开第一次爆炸,再向上移动一格到达矩阵中心,便可避开后面的两次爆炸。

评测数据规模

对于所有评测数据,0<N,K15,0<x,yN,数据保证有解,且在 N>10 的矩阵中 70% 以上的数字为 1

查看答案
赣ICP备20007335号-2