#YHCSPJMN130004. 传送方阵

传送方阵

传送方阵

题目背景

在育华学校的编程探索活动里,T2之王面临方格传送的挑战。方格图中分布着带编号的传送阵,T2之王可通过花费金币移动或免费传送(限次数)到达目标位置,需计算达成目标的最少金币消耗。

题目描述

有一个 n×m n \times m 的方格图,每个方格刻有传送阵编号。T2之王初始在一个位置,要移动到目标位置,有两种操作:

  • 花费 1 金币,移动到上下左右相邻方格;
  • 不花费金币,使用传送阵传送到相同编号的任意方格(限 k k 次 )。

需计算T2之王到达目标位置的最少金币消耗。

输入格式

第一行输入三个整数 n,m,k n, m, k ,表示方格图大小和最大传送次数。
第二行输入四个整数 x1,y1,x2,y2 x_1, y_1, x_2, y_2 ,分别是初始位置(行、列 )和目标位置(行、列 )。
接下来 n n 行,每行 m m 个整数,描述方格图的传送阵编号(行优先 )。

输出格式

输出一个整数,为到达目标位置的最少金币消耗。

样例

样例输入 1

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  

样例输出 1

3  

样例解释

最少金币消耗为 3,(1,1)->(2,1)->(3,1)->(4,2)->(5,2)->(5,5)。
。 (3,1)->(4,2),(5,2)->(5,5) 为免费传送.

数据规模与测试点(共20个测试点 )

测试点编号 n,m n,m 范围 k k 范围 传送阵编号范围
#1 10 \leq 10 k=0 k=0 [1, 100]
#2 k=1 k=1
#3~#5 k=2 k=2
#6~#9 1000 \leq 1000 [1, 1000]
#10~#20 1k5 1 \leq k \leq 5