编程题
### 问题描述 乐乐有一个 $N$ 行 $M$ 列的矩阵,他有一个高度为 $H$,宽度为 $W$ 的矩形。最初,矩形的左上角在单元格 $(S_r, S_c)$ 中。 在每一步中,他可以将矩形向上/向下移动一行,或向左/向右移动一列,而不离开矩阵。此外,有一些单元格是禁止的,这意味着矩形不允许与它们重叠。 现在,乐乐想找到将矩形的左上角带到单元格 $(F_r, F_c)$ 中所需的最小步数。 请注意:矩形位于矩阵边界内,并且不与任何禁止的单元格重叠。 ### 输入格式 第一行包含两个整数 $N$ 和 $M$。 接下来的 $N$ 行中,每行包含 $M$ 个整数,对应于单元格。普通单元格由 $0$ 表示,而禁止的单元格由 $1$ 表示。 接下来一行包含 $6$ 个整数 $H$,$W$,$S_r$,$S_c$,$F_r$,$F_c$。 ### 输出格式 如果没有解决方案,则输出 $-1$。 否则,输出一个整数,表示所需的最小步数。 ### 样例输入 ``` 4 5 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 1 1 4 ``` ### 样例输出 ``` 7 ``` ### 评测数据规模 $1 \leq N, M \leq 1000$。
查看答案
赣ICP备20007335号-2