#P1502. 2024.06.19-暑期实习-第三题-塔子哥的农田修复

2024.06.19-暑期实习-第三题-塔子哥的农田修复

问题描述

塔子哥的农田受到地震的破坏,农田中的一些网点断开了联系。假设原本的农田网构成一个矩形,其中未被破坏的网点标记为 11,被破坏的网点标记为 00。标记为 11 的网点连在一起构成一个子网。现在,塔子哥需要找到一个目标网点,并找出离它最近的其他子网。请注意,两个网点相连只能通过上下左右四个方向,不可以通过斜对角相连。两个网点的距离定义为从一个网点(假设网点名为 CC)到达另一个网点(假设网点名为 DD)需要经过相连网点的最小数目(CCDD 这两个网点不计算在内)。两个子网(假设分别为 AA 网和 BB 网)不相连,AA 网中所有的网点与 BB 网中所有的网点的距离中最小的那个即为 AA 网和 BB 网的最小距离。

输入格式

第一行包含两个正整数 x,yx, y,表示目标网点的坐标位置(xx 表示行号,yy 表示列号)。

第二行包含两个正整数 n,mn, m,表示农田矩形的行数 nn 和列数 mm

接下来的 nn 行每行包含 mm 个以空格分隔的整数 0011,表示农田网点的破坏情况。

输出格式

输出一个整数,表示最近的未被破坏子网的距离。如果整网中只有一个子网,则返回 1-1

样例输入

1 1
6 6
1 1 0 0 1 0
1 1 0 0 1 1
0 0 0 0 1 0
0 1 0 1 0 0
1 1 0 0 0 0
1 1 1 0 1 1

样例输出

1

评测数据与规模

  • 1n,m10001 \leq n, m \leq 1000
  • 输入保证目标网点是未被破坏的网点,且目标网点所在子网是一个子网。