#P1554. 2023.08.23-秋招-第三题-光芒散射

2023.08.23-秋招-第三题-光芒散射

题目内容

塔子哥有一些神奇的镜子,这些镜子能够吸收光芒,并在一定时间后对光芒进行散射。

塔子哥的镜子分为一级镜和二级镜,一级镜的散射速度比较快,1ms1ms就可以将光芒向上下左右四个方向散射过去,而二级镜则需要2ms2ms

塔子哥将这些镜子放在了一个二维矩阵中,且每个镜子的坐标均为整数。

现在,塔子哥给某一个镜子一道光芒,他想知道,最早什么时候所有镜子都能够吸收到光芒?

注:矩阵的下标从0开始

输入描述

矩阵的列数n(n500)n(n\le500)

矩阵的行数m(n500)m(n\le500)

最初获得光芒的镜子的坐标(i,j)(i,j)

接下来mm行,每行nn个数字,代表该位置镜子的等级:

如果为00,表示该位置是一堵密不透光的墙,它足以抵挡所有的光线。

如果为11,表示该位置的镜子散射耗时1ms

如果为22,表示该位置的镜子散射耗时2ms

输出描述

一个数字代表最小时间。如果有镜子不能够吸收到光芒,那么输出-1

样例

输入

5
5
2 2
1 0 2 1 0
2 2 1 2 0
0 0 1 0 0
2 1 1 0 0
1 1 1 1 1

输出

6