#1739. 小核桃与传送阵

小核桃与传送阵

题目描述

现在有一个 nmn*m 的方格图。每个方格上铭刻了一个有编号的传送阵。 小核桃初始位于方格图的一个位置,他想要移动到另一个位置。

小核桃每次可以选择:

  • 花费一个金币,移动到上下左右相邻的方格中;
  • 不花费金币,使用传送阵,传送到具有相同编号传送阵的方格中。

小核桃只能至多传送 kk 次。现在小核桃想知道他最少要花费多少金币。

输入格式

第一行三个正整数 n,m,kn, m, k,表示方格图的大小为 nnmm 列,小核桃最多可以传送 kk 次。 第二行四个正整数,前两个正整数 x1,y1x_1, y_1 表示小核桃的初始位置(x1x_1y1y_1 列),后两个正整数 x2,y2x_2, y_2 表示小核桃想要到达的位置(x2x_2y2y_2 列)。 接下来 nn 行,每行 mm 个数字,表示方格图上每个位置所铭刻的传送阵的编号。

输出格式

一行一个正整数,表示小核桃最少需要花费多少金币

5 5 2
1 1 5 5
1 1 2 2 2
2 3 3 3 3
4 4 5 5 6
7 4 7 8 8
8 9 9 9 9
3

提示

样例说明

最少需要三个金币。路线如下: 其中红色是花费金币移动,蓝色是传送。

imagine

数据范围

数据点编号 n,m的范围 k的范围 传送阵编号范围
1 1n,m101 \le n, m \le 10 k=0k = 0 [1, 100]
2 k=1k = 1
3~5 k=2k = 2
6~9 1n,m10001 \le n, m \le 1000 [1, 1000]
10~20 1k51 \le k \le 5